Python 如果一个数据帧的内容存在于另一个数据帧中,则减去/添加现有值
这里有两个数据帧 df1: df2: 生成的数据帧应该如下所示 结果:Python 如果一个数据帧的内容存在于另一个数据帧中,则减去/添加现有值,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,这里有两个数据帧 df1: df2: 生成的数据帧应该如下所示 结果: Index Number Name Amount Curr_amount 0 123 John 31 31 1 124 Alle 33 68 2 312 Amy 33 46 3 314 Holly 35 35 4 317 Jack 53 我尝试过使用pandas-i
Index Number Name Amount Curr_amount
0 123 John 31 31
1 124 Alle 33 68
2 312 Amy 33 46
3 314 Holly 35 35
4 317 Jack 53
我尝试过使用pandas-isin,但它只说明布尔值中的数字列是否存在。有什么方法可以有效地做到这一点吗?与外部联接一起使用,然后添加(或
(如有必要):
Index Number Name Amount
0 312 Amy 13
1 124 Alle 35
2 317 Jack 53
Index Number Name Amount Curr_amount
0 123 John 31 31
1 124 Alle 33 68
2 312 Amy 33 46
3 314 Holly 35 35
4 317 Jack 53
df = df1.merge(df2, on=['Number','Name'], how='outer', suffixes=('','_curr'))
df['Amount_curr'] = df['Amount_curr'].add(df['Amount'], fill_value=0)
print (df)
Number Name Amount Amount_curr
0 123 John 31.0 31.0
1 124 Alle 33.0 68.0
2 312 Amy 33.0 46.0
3 314 Holly 35.0 35.0
4 317 Jack NaN 53.0