我试图在 DataframeA.IDCol2 中搜索 DataframeB.ColA 的值,然后使用 DataframeA.IDCol1 和 DataframeA.IDCol3 的总和为匹配的值创建一个数据帧。

数据框A

        IDCol1      IDCol2      IDCol3
0       ABC         123         2
1       ABC         456         5
2       ABC         789         2
3       ABC         1011        1
4       CDE         123         3
5       CDE         456         2
6       CDE         CCC         4
7       CDE         AAA         1

数据框B
        ColA
0       123
1       456
2       CCC
3       1011

输出
        Col     Sum
0       ABC     8
1       CDE     9

最佳答案

series.isin() groupby()sum 一起使用:

dfA[dfA.IDCol2.isin(dfB.ColA)].groupby('IDCol1')['IDCol3'].sum().reset_index(name='Sum')
  IDCol1  Sum
0    ABC    8
1    CDE    9

关于python - Pandas - 在数据帧之间查找值并为匹配的系列添加值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57005277/

10-12 18:44