gpt4 book ai didi

Pandas:比较两列并返回匹配的行

转载 作者:行者123 更新时间:2023-12-04 00:07:23 25 4
gpt4 key购买 nike

我有两个带有多列的数据框。

我想比较 df1['postcode'] 和 df2['pcd'] 并根据这两列的匹配值构建一个新的 df。

注意 - 我要匹配的两列的长度不一样。

df1
postcode brand
1 znuee soony
2 eusjk nike
3 zieum addidas
4 psosk ferrari

df2
pcd brand
1 dodkm soony
2 eusjk nike
3 sjksj addidas
4 psosk ferrari

输出:
newdf
pcd brand
1 eusjk nike
2 psosk ferrari

我的尝试,但列上的长度不匹配
newdf = (df2['postcode'] == df1).all(axis=1).astype(int)

我需要使用某种循环功能吗?

最佳答案

您可以执行内部 merge :

In [134]:
df1.merge(df2, left_on=['postcode', 'brand'], right_on=['pcd', 'brand'])

Out[134]:
postcode brand pcd
0 eusjk nike eusjk
1 psosk ferrari psosk

然后,您可以删除“邮政编码”列或先重命名它:
In [136]:

df1.rename(columns={'postcode':'pcd'}).merge(df2)
Out[136]:
pcd brand
0 eusjk nike
1 psosk ferrari

关于Pandas:比较两列并返回匹配的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32400893/

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