在匹配来自不同数据帧的另一列的行后如何更新一列dF的值

时间:2019-12-11 15:41:26

标签: python dataframe

我想通过比较两个dataFrame将数据“ B”的列(费用)中的值替换为数据“ A”的列(费用)中。

示例:

data A:                          data B:

Codes  | charge                Codes  | charge
-----------------            ---------------------
Abc123    100                  Abc123    50
Abc345    75                   Abc345    75
Abc645    0                    Abc645    0
Abc456    200                  Abc456    200
Abc789    123
::  ::    ::
::  ::    ::

依此类推

数据“ B”具有那些代码的预定值。请,有人可以帮我在python中做到这一点。

1 个答案:

答案 0 :(得分:0)

您可以这样:

for (df1_index, df1_row), (df2_index, df2_row) in zip(df1.iterrows(), df2.iterrows()):
    df1.at[df1_index, 'codes'] = df2_row['whatever']
    df1.at[df1_index, 'Charges'] = df2_row['whatever']

您还可以在循环内添加if语句,具体取决于您希望如何以及何时加入DataFrame。但这实际上是如何一次遍历两个DataFrame。