python - 合并指定字段上的元组
问题描述
我有如下格式的元组数组(date, user_id, amount)
:
[
('2020-10-01', 1, 1000),
('2020-10-01', 2, 2000),
('2020-10-01', 3, 3000),
('2020-10-01', 1, 4000),
('2020-10-01', 3, 5000)
]
我想要做的是像这样组合相同 user_id 的金额:
[
('2020-10-01', 1, 5000),
('2020-10-01', 2, 2000),
('2020-10-01', 3, 8000)
]
我怎么能在python中做到这一点?谢谢!
解决方案
干得好:
import pandas as pd
data = [
('2020-10-01', 1, 1000),
('2020-10-01', 2, 2000),
('2020-10-01', 3, 3000),
('2020-10-01', 1, 4000),
('2020-10-01', 3, 5000)
]
df = pd.DataFrame(data, columns=['date','id','value'])
result = df.groupby(['date','id']).sum().reset_index()
result2 = result.to_dict(orient='records')
[(r['date'], r['id'], r['value']) for r in result2]
推荐阅读
- c# - unity 在桌面上创建文件夹,然后将 WAV 文件保存到其中
- javascript - 如何从 OMDB API 中拆分电影演员,然后映射结果?
- docker - 使用 Docker 的 Windows 容器上的时间偏移量为两个小时
- html - 将多个元素与父元素底部对齐
- python-3.x - 带有证书的 Python AAD(Azure Active Directory)身份验证
- c# - 在构造函数中将泛型转换为接口
- angular - 在angular6中使用tone.js
- php - 存储过程的替代品?
- javascript - 为什么 phantomJS 无法从此页面获取标记?
- php - 将数组显示为动态表php