pandas 数组相加 表和表之间做行值相加

1,下标相同的才有值版:

s = An+Bn
s[s.index=='U01070']
len(s) == len(Bn) + len(An) - len(Bn[Bn.index.isin(An.index)])# 两者共同的下标。


省略了输出值,其中 True表示相同下标,它们在相加后展示出来且值也相加了,但下标不同的值因缺少相加对象,故相加后值为NaN。

2,下标相同的才相加,否则就不变**(推荐)**:

baN = Bn[Bn.index.isin(An.index)]
baN.values

array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3],
dtype=int64)

abN = An[An.index.isin(Bn.index)]
abN.values

array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
dtype=int64)

s = An.append(Bn)
ss = s.groupby(s.index).sum()
ss[ss.index.isin(

abN.index)] # 可看见把下标相同的值作完美相加。不同的也没变化。
AP99140516119 2
AP99160116222 2
AP99171109977 2
KA27201106369 2
KA28190817118 2
KA59190824114 2
KA67211114777 2
KA86171014111 2
KA86191012111 2
Nd03211112307 2
RO99211118112 2
Rd68191031777 2
Rd68211613229 2
Rd78201028111 2
Rd78210819111 2
Rd85171104255 2
RdS56210924111 2
RdX39201216112 2
d01070218047 4
dtype: int64

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值