[英]Subtract columns from two data frames based on a common column
df1:
df2:
我希望 df1 - df2 的 output 是
我对此感到困扰,我是 pandas 的新手。 请帮忙。
使用Series.sub
与Series.map
映射的第二个Series
:
df1['B'] = df1['B'].sub(df1['A'].map(df2.set_index('A')['B']), fill_value=0)
print (df1)
A B
0 Asia 10.0
1 America 74.0
2 Australia 2.0
3 Africa 14.0
如果可能,第一列的更改顺序将两个第一列转换为索引DataFrame.set_index
并减去:
df2 = df1.set_index('A')['B'].sub(df2.set_index('A')['B'], fill_value=0).reset_index()
print (df2)
A B
0 Africa 14.0
1 America 74.0
2 Asia 10.0
3 Australia 2.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.