首页 > 解决方案 > 如何减去两个不同数据帧之间的行并替换原始值?

问题描述

我有两个数据框,如下所示。如何通过 3 减去 10 和 2 减去 55 来替换 Bank1 数据?

import pandas as pd

data = [['Bank1', 10, 55], ['Bank2', 15,65], ['Bank3', 14,54]]
df1 = pd.DataFrame(data, columns = ['BankName', 'Value1','Value2'])

在此处输入图像描述

df2 = pd.DataFrame([[3, 2]], columns = ['Value1','Value2'])

在此处输入图像描述

所需输出(仅替换 Bank1 中的值):

银行名称 价值1 价值2
银行1 7 53
银行2 15 65
银行3 14 54

标签: pythonpandasdataframesubtractionwrangle

解决方案


尝试,使用sub+combine_first

df1.sub(df2).combine_first(df1)

  BankName  Value1  Value2
0    Bank1     7.0    53.0
1    Bank2    15.0    65.0
2    Bank3    14.0    54.0

推荐阅读