我有两个这样的数据帧:
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怎么实现这个?
我相信你需要通过MultiIndex
和参数pay
将index
添加到原始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)