Pandas按月份与日期列汇总数据:大数据集求和需求
解决方法
针对你这个20万行的大数据集,用Pandas可以高效完成汇总操作,步骤如下:
具体代码
import pandas as pd # 假设原始数据已读入为DataFrame对象df # 按month和day分组,计算data1的求和结果 sum_df = df.groupby(['month', 'day'], as_index=False)['data1'].sum() # 生成指定格式的date列 sum_df['date'] = sum_df.apply(lambda x: f"{x['day']}.{x['month']}.", axis=1) # 调整列顺序并修改列名 result_df = sum_df[['date', 'data1']].rename(columns={'data1': 'sum_data1'}) # 查看最终结果 print(result_df)
代码说明
- 分组求和:直接按
month和day分组计算总和,as_index=False避免将分组列设为索引,后续处理更便捷。Pandas的groupby底层做了性能优化,处理20万行数据完全无压力。 - 构造date列:通过
apply结合f-string快速生成日.月.格式的字符串,逻辑清晰易维护。 - 列调整:重新排列列顺序并修改列名,完全匹配你需要的输出格式。
如果后续数据量继续增大,也可以用dask.dataframe做并行处理,但20万行的规模用Pandas单线程就足够高效。
内容的提问来源于stack exchange,提问作者licm
相关产品推荐
相关产品推荐

