python - 根据行对列求和。例如,基于行 'male' 和 'female' 的 sum 列自杀_no
问题描述
我正在尝试使用世界卫生组织关于自杀率的数据集进行调查。数据集有列“性别”,行“男性”和“女性”。但是,没有“两者”这一行。因此,任务是根据“女性”和“男性”行对“suicides_no”中的数据求和。例如,仅对年份的女性和男性行求和。
示例输入:
date sex suicides_no
31332 1985 female 296.0
31338 1985 male 678.0
示例输出:
date sex suicides_no
31332 1985 both 974
或者
date suicides_no
31332 1985 974
解决方案
试试这个:
df = df.groupby(by=['date'], as_index=False).sum()
print(df)
date suicides_no
0 1985 974.0
或这个:
df = df.groupby(by=['date'], as_index=False).agg({'sex': lambda x: 'both', 'suicides_no': sum})
print(df)
date sex suicides_no
0 1985 both 974.0
推荐阅读
- amazon-web-services - 使用两个表进行 Redshift 表更新
- python - QLineEdit 中间的 Python PyQt5 类型
- javafx - JavaFX 动态调整大小
- c# - 从 AD 获取经理的员工
- nightwatch.js - 使用异步 Nightwatch After Hook 与客户端交互不起作用
- javascript - 通过 Chrome 中的 Fetch API 在 D3 v5 中加载 JSON?
- python - 删除 0 值、NaN 值和空字符串
- python - 在输出中将浮点整数更改为整数
- css - 倾斜旋转JS计算间距
- sql-server-2008 - '.' 附近的语法不正确