当ID相同时,如何将列从一个数据帧分配到另一个数据帧?使用isin()Python

2024-05-15 22:08:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python和pandas。

我有:

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 |

我使用的函数是这个。我可以判断df1的ID是否存在于df2中,但我无法将df2的“name”列分配给df1

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

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


Tags: 函数name功能idpandasforindex记录