0

我正在使用 python 和熊猫。

我有:

df1:              df2:
|index | ID |     |index | ID  | name  |
|  1   | 34 |     |  1   |  35 | Astri |
|  2   | 35 |     |  2   |  36 | Carlos|
|  3   | 36 |     |  3   |  34 | Xim   |

所以,我想用 isin() 来做这样的事情:

df1:
    |index | ID | name   |
    |  1   | 34 | Xim    |
    |  2   | 35 | Astri  |
    |  3   | 36 | Carlos |

我正在使用的功能是这个。我可以判断 df2 中是否存在 df1 的 ID,但我无法将 df2 的“名称”列分配给 df1

df1 = df1[df1.ID.isin(df2.ID)]

我不想使用 FOR 和 iterrows() 进行迭代,因为我会将其应用于包含 800 万条记录的数据集。谢谢!

4

1 回答 1

0

这是将两个数据帧合并在一起。考虑mergejoin

df1 = df1.merge(df2, how = 'left', on = 'ID')

于 2020-03-20T15:10:39.317 回答