pandas - 如何对几列进行分组和求和?
问题描述
我有一个包含字符串、数字等的多列的大数据框。我正在尝试按 SCENARIO 分组,然后仅对 2020 年到 2050 年之间的列求和。到目前为止,我唯一得到的是对一列求和,如下所示,但例如,我需要通过 2020 年到 2050 年之间的列来更改这个“2050”。
df1 = df.groupby(["SCENARIO"])['2050'].sum().sum(axis=0)
解决方案
您正在创建仅包含该单列的 df 子集。从提供的信息中我无法判断您的数据集的外观,但请尝试:
df.groupby(["SCENARIO"]).sum()
这应该列出列中的所有行。
或者,选择要对其执行求和的列。
df.groupby(["SCENARIO"])[["column1","column2"]].sum()
推荐阅读
- bash - 如何卷曲以从重定向链接中提取有效的 .zip 文件
- xml-parsing - XMLSerializer 在开玩笑测试中未定义
- python - 我应该使用哪种神经网络从 RDF 规则的句子中提取关键信息?
- node.js - 如何通过 socks5 代理进行网络连接?
- javascript - 如何在 React 函数中创建复选框
- angular - 在 Angular 7 中使用 Jest 进行测试时缺少 Kendo Intl Service 的语言环境信息
- ios - 如果我已经有了他/她的名字,我如何访问/获取特定联系人的所有详细信息?
- c++ - 错误:没有用于调用“子类::...”的匹配函数
- php - 如何在 laravel 5.7 中同时使用 Auth 和 Config?
- java - Android WebView 获取本地存储值