我有两个数据帧,df1和df2都有列“A”、“count”。我想根据A列加入这些行,然后如果列相同,则从这些行中减去count。例如:
df1
A count
s1 10
s2 5
s3 3
s4 7
df2
A count
s1 2
s4 4
我的最终输出应该是
combined
A count1 count2 change
s1 10 2 8 // count1-count2
s2 5 none none
s3 3 none none
s4 7 4 3
最佳答案
可以执行外部合并,然后执行计算:
res = pd.merge(df1.rename(columns={'count': 'count1'}),
df2.rename(columns={'count': 'count2'}), how='outer')\
.eval('change = count1 - count2')
print(res)
A count1 count2 change
0 s1 10 2.0 8.0
1 s2 5 NaN NaN
2 s3 3 NaN NaN
3 s4 7 4.0 3.0
关于python - 如果另一列的值在pandas数据框中相同,如何减去2列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53860485/