如何对Pandas DataFrame分组后的vals列值进行求和?
按分组计算数值总和的解决方案
直接用Pandas的groupby()方法先按grps列分组,再对vals列调用sum()就能实现需求,具体代码如下:
import pandas as pd # 你的DataFrame df = pd.DataFrame({'grps': list('aaabbcaabcccbbc'), 'vals': [12,345,-3,1,45,14,4,52,54,23,235,-21,57,-3,87]}) # 分组求和 grouped_sum = df.groupby('grps')['vals'].sum() print(grouped_sum)
运行后会得到每组的求和结果:
grps a 464 b 182 c 362 Name: vals, dtype: int64
代码说明
df.groupby('grps'):将DataFrame按照grps列的不同值(a、b、c)分组,把相同字母对应的所有行归为一组。['vals']:指定只对分组后的vals列进行计算。.sum():对每组的vals列数值求和。
内容的提问来源于stack exchange,提问作者gallagouch
相关产品推荐
相关产品推荐

