如何提取多DataFrame的month列统计值并合并为指定表格?
解决方案
- 第一步:单独生成各年份的月份统计序列,为每个序列指定对应年份的列名
先针对每个DataFrame的month列执行value_counts(),通过rename()给结果列设置年份名称,确保后续拼接后能清晰区分:
# 生成各年份的月份统计并命名列 count_2020 = df_2020['month'].value_counts().rename('2020') count_2021 = df_2021['month'].value_counts().rename('2021') count_2022 = df_2022['month'].value_counts().rename('2022')
- 第二步:横向拼接统计结果并优化格式
使用pd.concat()横向拼接三个统计序列,通过fillna(0)填充缺失月份的统计值(比如某年份无对应月份数据时补0),再用sort_index()按月份排序:
# 拼接、补全缺失值并排序月份 final_result = pd.concat([count_2020, count_2021, count_2022], axis=1).fillna(0).sort_index()
- 可选操作:将月份索引转为普通列
如果需要把月份从索引转为单独的列,执行以下代码:
final_result = final_result.reset_index().rename(columns={'index': 'month'})
这样就能得到以月份为行、各年份统计值为列的目标表格,避免了直接拼接完整DataFrame的问题。
内容的提问来源于stack exchange,提问作者johaz5
相关产品推荐
相关产品推荐

