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

当ID相同时,如何将列从一个数据帧分配到另一个数据帧?使用isin()-Python,python,pandas,dataframe,match,isin,Python,Pandas,Dataframe,Match,Isin,我正在使用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()实现类似这样的功能: 我使用的函数是这个。我可以判

我正在使用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的ID是否存在于df2中,但我无法将df2的“name”列分配给df1

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

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

这是将两个数据帧合并在一起。考虑<代码>合并< /代码>或<代码>连接< /代码> .<
df1=df1.merge(df2,how='left',on='ID')

这种情况是假设的,实际列是从不同列的来源购买的。基本上我需要的是解释。谢谢你的快速回复。关于您的代码,我需要根据ID进行调整,如果我将df2粘贴到df1旁边,ID将不匹配,因为在原始源代码中,它们是文档ID
df1 = df1[df1.ID.isin(df2.ID)]