如何使用Pandas根据col1列统计col2列的数值总和?
使用Pandas按列分组求和的实现方案
步骤1:导入Pandas并构造输入数据
先把给定的输入数据转换成Pandas的DataFrame结构:
import pandas as pd # 构造输入数据集 data = { 'col1': ['one', 'two', 'three', 'one', 'two', 'three'], 'col2': [1, 2, 1, 4, 4, 2] } df = pd.DataFrame(data)
步骤2:分组求和核心代码
通过groupby方法按col1分组,对col2列求和后重置索引,让结果结构匹配预期:
# 按col1分组计算col2总和,重置索引恢复列结构 result_df = df.groupby('col1')['col2'].sum().reset_index() # 可选:如果需要和期望输出的行顺序完全一致,添加排序 result_df = result_df.sort_values('col1').reset_index(drop=True)
验证结果
打印结果即可得到符合预期的输出:
print(result_df)
输出内容:
col1 col2 0 one 5 1 two 6 2 three 3
代码说明
groupby('col1'):将DataFrame按照col1列的唯一值(one/two/three)拆分为独立分组['col2'].sum():对每个分组内的col2列数值执行求和运算reset_index():将分组后的索引(原col1的唯一值)转换为普通列,避免结果以索引形式展示分组名sort_values('col1'):可选操作,用于匹配预期输出的行顺序
内容的提问来源于stack exchange,提问作者Dmiich
相关产品推荐
相关产品推荐

