如何通过熊猫的两个sql结果合并实现'

问题描述 投票:2回答:1

我有两个这样的数据帧:

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和B合并在一起A.(商店+付费)== B.(商店+付费),A和B长度不一样,用pandas怎么实现这个?

python pandas dataframe add
1个回答
0
投票

我相信你需要通过MultiIndex和参数payindex添加到原始DataFrame.set_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)
© www.soinside.com 2019 - 2024. All rights reserved.