gpt4 book ai didi

python - 在两个 pandas 数据框中查找匹配值并从匹配行返回一个值

转载 作者:行者123 更新时间:2023-11-30 22:00:31 25 4
gpt4 key购买 nike

很难以清晰准确的方式表达这个问题,因此希望以下内容有助于更清楚地阐明我的问题。

我有两个 pandas 数据框,对此示例进行了简化,它们是:

df1 = 
'CENSUS_ID'
60014001001
60014002001

df2 =
'GEO_ID' 'MED_INCOME'
60014001001 177417
60014002001 166313
60014002002 132400
60014003001 161964

我想通过在 df2 中查找匹配的 GEO_ID 并返回“MED_INCOME”值,向 df1 添加一个名为“MED_INCOME”的列。虽然这些数据帧经过简化,但 df1 的实际 len 可能有数百行长,而 df2 的实际 len 则有数万行长。因此,虽然我可以轻松地将其设置为迭代以查找匹配项,但它并不理想,因为它非常慢。我想使用 pandas apply() 因为它似乎要快得多,或者也许还有另一种解决方案,但我很难弄清楚逻辑,因为我仍然有很多 pandas “技巧”新的或不知道的。也许从 df2 中删除不匹配的列比添加到 df1 更容易,但我只是不知道。如有任何帮助,我们将不胜感激。

最佳答案

您可以进行左合并(左外连接)。这将保留 df1 中的所有观测值,同时将其与 df2 中的 GEO_ID 进行匹配:

df1.merge(df2, left_on='CENSUS_ID', right_on='GEO_ID', how='left')

关于python - 在两个 pandas 数据框中查找匹配值并从匹配行返回一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54298535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com