如何在Pandas DataFrame中按年份分组并汇总积分?
解决方法:按年份对积分求和
你可以用Pandas的groupby()方法按year分组,再对points列求和,最后重置索引让year回到列的位置,就能得到目标格式的DataFrame。
完整代码示例
import pandas as pd # 创建示例DataFrame data = { 'points': [1,1,2,4,10,3,3,7,8,8,2,4,6,5,5], 'year': [1994,1994,1994,1994,1994,1995,1995,1995,1995,1995,1996,1996,1996,1996,1996] } df = pd.DataFrame(data) # 按年份分组并求和 summed_df = df.groupby('year')['points'].sum().reset_index() # 调整列顺序以匹配目标格式 summed_df = summed_df[['points', 'year']] print(summed_df)
代码说明
df.groupby('year')['points'].sum():按year列分组,对每组的points列求和,此时year会作为结果的索引。.reset_index():将索引转为普通列,确保结果包含points和year两列。- 调整列顺序是为了和你给出的目标格式完全一致,若不介意列顺序可省略此步骤。
输出结果
points year 0 18 1994 1 29 1995 2 22 1996
内容的提问来源于stack exchange,提问作者Graham Ohleger
相关产品推荐
相关产品推荐

