我有两个这样的数据框:
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的长度不一样,用熊猫怎么实现呢?
答案 0 :(得分:0)
我相信您需要通过DataFrame.set_index
和参数MultiIndex
将pay
添加到原始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)