Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中合并数据帧时重复的行_Python_Python 2.7_Python 3.x_Pandas_Merge - Fatal编程技术网

在python中合并数据帧时重复的行

在python中合并数据帧时重复的行,python,python-2.7,python-3.x,pandas,merge,Python,Python 2.7,Python 3.x,Pandas,Merge,我目前正在用一个外部联接合并2个数据帧,但是在合并之后,我看到所有的行都是重复的,即使我合并的列包含相同的值。详细内容: list_1 = pd.read_csv('list_1.csv') list_2 = pd.read_csv('list_2.csv') merged_list = pd.merge(list_1 , list_2 , on=['email_address'], how='inner') 通过以下输入和结果: 清单1: email_address, name, surn

我目前正在用一个外部联接合并2个数据帧,但是在合并之后,我看到所有的行都是重复的,即使我合并的列包含相同的值。详细内容:

list_1 = pd.read_csv('list_1.csv')
list_2 = pd.read_csv('list_2.csv')

merged_list = pd.merge(list_1 , list_2 , on=['email_address'], how='inner')
通过以下输入和结果:

清单1:

email_address, name, surname
john.smith@email.com, john, smith
john.smith@email.com, john, smith
elvis@email.com, elvis, presley
清单2:

email_address, street, city
john.smith@email.com, street1, NY
john.smith@email.com, street1, NY
elvis@email.com, street2, LA
合并列表:

email_address, name, surname, street, city
john.smith@email.com, john, smith, street1, NY
john.smith@email.com, john, smith, street1, NY
john.smith@email.com, john, smith, street1, NY
john.smith@email.com, john, smith, street1, NY
elvis@email.com, elvis, presley, street2, LA
elvis@email.com, elvis, presley, street2, LA
我的问题是,不应该是这样吗

合并列表(我希望它是:D):

我怎样才能使它变成这样? 非常感谢你的帮助

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

需要重复的行。
列表_1
中的每个john smith都与
列表_2
中的每个john smith匹配。我不得不把重复的东西放在一张名单上。我选择了
list\u 2

我的评论可能看起来很傻,但是你的合并不应该被合并吗?合并(list\u 1,list\u 2,on=['email\u address'],how='inner')?可能重复的是我在描述中犯了一个错误,修复了它!不管怎么说,我当前在python中的查询正如您所说:D谢谢!啊,我明白了。再次感谢您的澄清,它确实有效@如果你认为它已经回答了你的问题,请考虑一下,并举出一个答案,我花了相当多的时间,但我做到了:
list_2_nodups = list_2.drop_duplicates()
pd.merge(list_1 , list_2_nodups , on=['email_address'])