如何基于多列将一列从一个数据帧添加到另一个数据帧

时间:2021-02-04 07:26:28

标签: python pandas dataframe pandas-groupby sklearn-pandas

假设我有两个数据帧 df1 和 df2。

DF1: ID First_name Second_Name dob
输出

  1. 山姆。丹尼尔。 1/28/1997
  2. 戴夫。卡伦。 3/18/1997
  3. 大卫。钟。 2/18/2000

DF2: ID First_name Second_Name dob。输出

  1. 山姆。丹尼尔。 1/28/1997 1
  2. 戴夫。卡伦。 3/18/1997 0
  3. 大卫。钟。 2/18/2000 1

结果

DF1 ID First_name Second_Name dob 输出

  1. 山姆。丹尼尔。 1/28/1997 1
  2. 戴夫。卡伦。 3/18/1997 0
  3. 大卫。钟。 2/18/2000 1

如您所见,我想根据 ID 将输出列从 df2 添加到 df1,即使在这种情况下 ID 错误 David 在 df2 中有 301 ID,在 df1 中有 3 ID 仍然我希望输出为 1 ,因为此人具有相同的 first_name、last_name 和 Dob。

我试过仅基于 ID 添加输出,使用

Df3 = df1.join(df2.set_index('ID'), on='ID', how = 'left')

这对我有用,但这只是考虑 ID,我想根据 first_name、last_name 和 dob 将输出添加到 df1,以防万一ID 错误。

有人可以帮我吗?

0 个答案:

没有答案