首页 > 解决方案 > 合并 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

标签: pandaspython-2.7dataframe

解决方案


IIUC,您可以使用pandas.concatpandas.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

推荐阅读