pandas - 合并 2 个 DataFrame 并总结其中一列
问题描述
我有 2 个要合并到熊猫(Python 2.7)中的数据框。
在合并(DataFrame C)中,相同的 ID 和 Sub_id 必须只有一行,并且它们的视图必须相加。
我的数据框 A
--------------------------------
ID | Sub_ID | Views
--------------------------------
345 | 4 | 120
555 | 8 | 133
122 | 4 | 540
333 | 2 | 40
我的数据框 B
--------------------------------
ID | Sub_ID | Views
--------------------------------
345 | 4 | 110
555 | 8 | 100
122 | 4 | 544
我想得到一个新的数据框,只有当它们的 ID 和 Sub_id 匹配时,它才会是 DataFrame A 和 B 的视图的总和:
结果数据帧 C
--------------------------------
ID | Sub_ID | Views
--------------------------------
345 | 4 | 230
555 | 8 | 233
122 | 4 | 1084
333 | 2 | 40
解决方案
IIUC,您可以使用pandas.concat
和pandas.DataFrame.groupby
df3 = pd.concat([df1, df2], ignore_index=True)
df3.groupby(['ID', 'Sub_ID'], as_index=False).sum()
ID Sub_ID Views
0 122 4 1084
1 333 2 40
2 345 4 230
3 555 8 233
推荐阅读
- c - 无法弄清楚为什么 strlen 会破坏 C 中的字符数组
- mysql - 如果表 B 上不存在键,则从表 A 中插入 CASCADE
- database - 使用 For 循环插入数据时出现无法识别的数据库格式错误
- python - pandas table.loc lambda 函数无法根据条件对表进行切片
- python - 将 shell 输出转换为 Django 模型的方法
- javascript - Enter 键上的输入 eventListener 继续循环
- ethereum - 什么是地址(1)?
- javascript - 传单未能关注地图到标记坐标
- java - 带有私有 java 构造函数的 Kotlin 顶级函数
- python - 华宇网格搜索功能