我有 2 个数据框,df1 和 df2 都有“A”列、“count”列。我想根据 A 列加入这些,然后如果列相同则从这些行中减去计数。例如:
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/