gpt4 book ai didi

python - 在 Python 中合并数据框时出现重复的行

转载 作者:太空狗 更新时间:2023-10-29 21:25:43 25 4
gpt4 key购买 nike

我目前正在使用外部连接合并两个数据框。但是,合并后,我看到所有行都是重复的,即使我合并的列包含相同的值也是如此。

具体来说,我有以下代码。

merged_df = pd.merge(df1, df2, on=['email_address'], how='inner')

这是两个数据框和结果。

df1

          email_address    name   surname
0 john.smith@email.com john smith
1 john.smith@email.com john smith
2 elvis@email.com elvis presley

df2

          email_address    street  city
0 john.smith@email.com street1 NY
1 john.smith@email.com street1 NY
2 elvis@email.com street2 LA

merged_df

          email_address    name   surname    street  city
0 john.smith@email.com john smith street1 NY
1 john.smith@email.com john smith street1 NY
2 john.smith@email.com john smith street1 NY
3 john.smith@email.com john smith street1 NY
4 elvis@email.com elvis presley street2 LA
5 elvis@email.com elvis presley street2 LA

我的问题是,不应该是这样吗?

这就是我希望我的 merged_df 的样子。

          email_address    name   surname    street  city
0 john.smith@email.com john smith street1 NY
1 john.smith@email.com john smith street1 NY
2 elvis@email.com elvis presley street2 LA

有什么方法可以实现吗?

最佳答案

list_2_nodups = list_2.drop_duplicates()
pd.merge(list_1 , list_2_nodups , on=['email_address'])

enter image description here

重复的行是预期的。 list_1 中的每个 john smith 都与 list_2 中的每个 john smith 匹配。我不得不将重复项放在其中一个列表中。我选择了 list_2

关于python - 在 Python 中合并数据框时出现重复的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39019591/

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