我正在尝试将dataframe中一列的值添加到dataframedf2
的所有列中df
。它们共享一个(唯一的)索引,但是顺序可能有所不同。
df = pd.DataFrame({"id":[1,2,3], "value1":[1,2,3], "value2":[4,5,6]}).set_index("id")
df2 = pd.DataFrame({"id":[3,2], "add":[4,5]}).set_index("id")
预期结果:
result = pd.DataFrame({"id":[1,2,3], "value1":[1,2+5,3+4], "value2":[4,5+5,6+4]}).set_index("id")
我可以合并并添加,但是我想知道是否还有更多的numpy样式的解决方案。我尝试df+df2
了NaN
到处都有结果。
我没有numpy样式的答案,但这是熊猫样式的答案:
df = pd.DataFrame({"id":[1,2,3], "value1":[1,2,3], "value2":[4,5,6]}).set_index("id")
df2 = pd.DataFrame({"id":[3,2], "add":[4,5]}).set_index("id")
print(df.update(df + df2))
输出:
value1 value2
id
1 1 4
2 7 10
3 7 10
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句