pandas - 如何对一个值进行分组,对一列求和并在另一列中保持相等的值?
问题描述
如果您有一个 DataFrame 的值一起出现,但也有一个独立的值,如下所示:
df = {'address': ["A", "A", "B"], 'balances': [30, 40, 50], 'sessions': ["V","V","K"]}
并且您希望groupby
两者兼而有之aggregate
:
>>> df.groupby(["address"]).agg({'balances': 'sum', 'sessions': ??? })
{'address': ["A", "B"], 'balances': [80, 50], 'sessions': ["V","K"]}
解决方案
只取第一个或最后一个:
df.groupby(["address"],as_index=False).agg({'balances': 'sum', 'sessions': 'first'})
address balances sessions
0 A 70 V
1 B 50 K
推荐阅读
- android - 如何从另一个函数更新在 OnViewCreated 中声明的 textview
- sql - 如何在表中插入一行,其中一列具有 ascii 表上的下一个字符,用于接下来的 11 个可用字符?
- newline - 行尾混乱
- python - 单击按钮提交后如何停止页面重新加载
- asp.net-mvc - Sharepoint 在线开发
- javascript - 如何将自定义 JS 添加到 Froala Django 框架
- java - 多次执行prepare方法
- python - 数据类型传输/转换
- python - Python 中的 if/else 循环中是否有“等待”n 时间?
- c - 我在我的 SAMA5D27 板的 C 程序中找不到问题