使用 Pandas 数据框中的列搜索和更新不同数据框中的列
Use a column in a Pandas dataframe to search and update a column in a different dataframe
我有一个 excel 文件,我想用它来更新另一个更大的 excel 文件。
两个电子表格都有一个序列号列,我想使用电子表格 A 中的序列号 col 中的值来搜索电子表格 B 中的序列号,然后在匹配时更新该行上的其他一些值。
我已将两个电子表格放入单独的数据框(dfA 和 dfB)中,并且我试图使用 dfA 来搜索和更新 dfB 并进行合并,但无法完全弄清楚。我想知道合并是否是最好的方法?如果是的话,我该如何合并呢?或者最好的方法是什么?
这是数据示例:
dfA: name serialNum status
test1 1234 deployed
test2 4321 retired
test3 1111 inventory
dfB: name serialNum status
test1 1234 NA
test2 4321 NA
test3 1111 NA
基本上我有一个非常大的电子表格,我需要用另一个电子表格更新状态
您可以使用 merge
将状态从 dfA 更新为 dfB。
输入数据:
>>> dfA
name serialNum status
0 test1 1234 deployed
1 test2 4321 retired
2 test3 1111 inventory
>>> dfB
name serialNum status
0 test1 1234 NaN
1 test2 4321 NaN
2 test3 1111 NaN
dfB['status'] = dfA.merge(dfB[['name', 'serialNum']],
on=['name', 'serialNum'],
how='right')['status']
这里真正重要的参数是how
执行合并。
输出
>>> dfB
name serialNum status
0 test1 1234 deployed
1 test2 4321 retired
2 test3 1111 inventory
我有一个 excel 文件,我想用它来更新另一个更大的 excel 文件。 两个电子表格都有一个序列号列,我想使用电子表格 A 中的序列号 col 中的值来搜索电子表格 B 中的序列号,然后在匹配时更新该行上的其他一些值。
我已将两个电子表格放入单独的数据框(dfA 和 dfB)中,并且我试图使用 dfA 来搜索和更新 dfB 并进行合并,但无法完全弄清楚。我想知道合并是否是最好的方法?如果是的话,我该如何合并呢?或者最好的方法是什么?
这是数据示例:
dfA: name serialNum status
test1 1234 deployed
test2 4321 retired
test3 1111 inventory
dfB: name serialNum status
test1 1234 NA
test2 4321 NA
test3 1111 NA
基本上我有一个非常大的电子表格,我需要用另一个电子表格更新状态
您可以使用 merge
将状态从 dfA 更新为 dfB。
输入数据:
>>> dfA
name serialNum status
0 test1 1234 deployed
1 test2 4321 retired
2 test3 1111 inventory
>>> dfB
name serialNum status
0 test1 1234 NaN
1 test2 4321 NaN
2 test3 1111 NaN
dfB['status'] = dfA.merge(dfB[['name', 'serialNum']],
on=['name', 'serialNum'],
how='right')['status']
这里真正重要的参数是how
执行合并。
输出
>>> dfB
name serialNum status
0 test1 1234 deployed
1 test2 4321 retired
2 test3 1111 inventory