gpt4 book ai didi

python - Pandas :如果索引存在,将一列的值添加到另一列

转载 作者:太空宇宙 更新时间:2023-11-04 02:27:30 25 4
gpt4 key购买 nike

我有两个数据框:

答:

   foo   bar   foo2  
0 1 1 1
1 2 2 2
2 3 3 3
3 3 3 3

乙:

   foo
0 1
2 2
3 1
4 5

我想将其索引存在于 A 中的 B 的值添加到 A 的列(在具有相应索引的行上)WITHOUT来自 B 的值在 A 中没有相应的索引被添加或删除不存在于 A 和 B 中的索引:

   foo   bar   foo2  
0 2 1 1
1 2 2 2
2 5 3 3
3 6 3 3

我觉得这应该是直截了当的,但是使用 addconcat 我最终要么不是 A 中的所有行,要么是 A 和 B 的并集

最佳答案

简单、直接、高效 - 使用集合运算获取索引的交集,然后执行基于 loc 的算术 -

i = A.index.intersection(B.index)
j = A.columns.intersection(B.columns)

A.loc[i, j] += B.loc[i, j]

A
foo bar foo2
0 2 1 1
1 2 2 2
2 5 3 3
3 4 3 3

关于python - Pandas :如果索引存在,将一列的值添加到另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49989445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com