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

2024-07-08 18:21:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个这样的数据帧:

答:

         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

第二:

       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.(store+pay)==B.(store+pay)把A和B合并在一起,A和B的长度不一样,用熊猫怎么实现


Tags: 数据storepaynum现金a002a001a003
1条回答
网友
1楼 · 发布于 2024-07-08 18:21:34

我相信您需要通过将pay添加到原始index来创建MultiIndex,通过^{}和参数append=True,然后使用^{}和最后一个^{}

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)

相关问题 更多 >

    热门问题