首页 > 解决方案 > 如何对几列进行分组和求和?

问题描述

我有一个包含字符串、数字等的多列的大数据框。我正在尝试按 SCENARIO 分组,然后仅对 2020 年到 2050 年之间的列求和。到目前为止,我唯一得到的是对一列求和,如下所示,但例如,我需要通过 2020 年到 2050 年之间的列来更改这个“2050”。

df1 = df.groupby(["SCENARIO"])['2050'].sum().sum(axis=0)

标签: pandassum

解决方案


您正在创建仅包含该单列的 df 子集。从提供的信息中我无法判断您的数据集的外观,但请尝试:

df.groupby(["SCENARIO"]).sum()

这应该列出列中的所有行。

或者,选择要对其执行求和的列。

df.groupby(["SCENARIO"])[["column1","column2"]].sum()

推荐阅读