假设我有这两个数据帧:
import pandas as pd
df1 = pd.DataFrame([['4', 'val1', 'val2.4', 'val3.4'],
['5', 'val1', 'val2.5', 'val3.5'],
['6', 'val1', 'val2.6', 'val3.6'],
['7', 'val1', 'val2.7', 'val3.7']],
columns=['account_id', 'field1', 'field2', 'field3'])
df2 = pd.DataFrame([['6', 'VAL2.6', 'VAL3.6'],
['5', 'VAL2.5', 'VAL3.5']],
columns=['account_id', 'field2', 'field3'])
一个解决方案是
cols_to_update = ['field2', 'field3']
df1.loc[df1.account_id.isin(df2.account_id), cols_to_update] = df2[cols_to_update].values
account_id field1 field2 field3
0 4 val1 val2.4 val3.4
1 5 val1 VAL2.6 VAL3.6
2 6 val1 VAL2.5 VAL3.5
3 7 val1 val2.7 val3.7
其中,account_id 6现在的值错误。
-
如何使用索引使类似的东西工作?
-