如何通过熊猫实现“两个sql结果合并在一起”

时间:2019-04-08 07:23:32

标签: python pandas dataframe add

我有两个这样的数据框:

A:

         pay  num
store                    
A001         医保   43
A001         微信   25
A001        支付宝    6
A001         现金   25
A001         通联    1
A002         医保   21
A002         微信   38
A002        支付宝   11
A002         现金   53
A003         医保   22
...
AC24         微信   29
AC24        支付宝   15
AC24         现金   51
AC3H         微信    7
AC3H         现金   15

B:

       pay  num
store          
A001    医保   43
A001    微信   25
A001   支付宝    6
A001    通联    1
A002    医保   21
A002    微信   38
A002   支付宝   11
A002    现金   53
A003    医保   22
...
AC24    微信   29
AC24   支付宝   15
AC24    现金   51
AC3H    微信    7
AC3H    现金   15

我想通过A.将A和B合并在一起。(store + pay)==B。(store + pay),A和B的长度不一样,用熊猫怎么实现呢?

1 个答案:

答案 0 :(得分:0)

我相信您需要通过DataFrame.set_index和参数MultiIndexpay添加到原始index中来创建append=True,然后使用Series.add并最后Series.reset_index

a = A.set_index('pay', append=True)['num']
b = B.set_index('pay', append=True)['num']

df = a.add(b, fill_value=0).reset_index(level=1)