You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于DataFrame某列唯一值迭代拆分出独立子数据集?

按月份拆分DataFrame的高效实现方法

优先采用for循环的内存友好方案

因为你希望避免子DataFrame长期驻留内存,直接在循环中处理每个月份的数据是最优选择,步骤如下:

  1. 获取所有唯一月份值
    先提取DataFrame中所有不重复的月份:

    unique_months = df['month'].unique()
    
  2. 循环处理每个月份的子DataFrame
    遍历每个月份,筛选出对应数据后直接执行分析或保存操作,处理完后该子DataFrame会被自动回收,不会占用额外内存:

    for month in unique_months:
        # 筛选当前月份的数据
        monthly_sub_df = df[df['month'] == month]
        
        # 在这里执行你的后续操作,比如:
        # 1. 保存为文件
        monthly_sub_df.to_csv(f"{month.replace('-', '_')}_data.csv", index=False)
        
        # 2. 进行统计分析
        monthly_avg = monthly_sub_df['value'].mean()
        print(f"月份 {month} 的value均值:{monthly_avg:.2f}")
        
        # 其他自定义分析逻辑...
    

可选:临时存储子DataFrame(不推荐大数据集)

如果需要临时访问各月份的子DataFrame,可以用字典存储,但这种方式会将所有子DataFrame驻留内存,仅适合小数据集:

monthly_dfs = {}
for month in unique_months:
    monthly_dfs[month] = df[df['month'] == month]

# 示例:访问10-22月份的数据
# print(monthly_dfs['10-22'])

内容的提问来源于stack exchange,提问作者vicefreak04

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 05:47:19