【问题标题】:Filter DataFrame where a set of values are the same in another DataFrame [duplicate]过滤一组值在另一个 DataFrame 中相同的 DataFrame [重复]
【发布时间】:2023-02-09 19:06:14
【问题描述】:

我有一个包含一些员工信息的数据集,我想看看某些记录是否出现在另一个 DataFrame 中。但是,可能会有重复的ID(我知道......),所以我想过滤ID AND 出生日期相同的地方。我尝试通过合并来做到这一点,但后来所有的列都被添加了,这是我不想要的。我该怎么办?

示例数据:

df1 = pd.DataFrame({"ID": [1, 2, 3, 4, 5], "DOB": ["1987-12-03", "1993-04-05", "2000-01-24", "1995-05-18", "1974-10-10"], "JOB": [6, 7, 8, 9, 10]})
df2 = pd.DataFrame({"ID": [1, 1, 2, 3, 3, 4, 4, 5], "DOB": ["1987-12-03", "1999-06-16", "1993-04-05", "2000-01-24", "1968-11-13", "1995-05-18", "1988-12-12", "1974-10-10"], "JOB": [6, 11, 7, 8, 12, 9, 13, 10]})

【问题讨论】:

  • 你想要什么输出?

标签: python pandas dataframe


【解决方案1】:

您可以删除其他列,然后进行内部合并:

out = df1.merge(df2.drop('JOB', axis=1), on=['ID', 'DOB'], how='inner')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 2016-05-25
    • 2014-02-06
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多