Python 如何在两个单独的csv中识别名字和姓氏的两列中的重复项

Python 如何在两个单独的csv中识别名字和姓氏的两列中的重复项,python,python-3.x,pandas,csv,export-to-csv,Python,Python 3.x,Pandas,Csv,Export To Csv,我有两个单独的csv文件,具有不同的名称和重复的名称,我想删除重复的名称,并将它们导出到仅识别重复的csv文件中 csv_文件1: first_name, last_name lucas, micker kyle, smith mark, davis danny, green myles, cook csv_文件2: first_name, last_name corey, mintzer lucas, erin mark, davis danny, green myles, turn

我有两个单独的csv文件,具有不同的名称和重复的名称,我想删除重复的名称,并将它们导出到仅识别重复的csv文件中

csv_文件1:

first_name, last_name
lucas, micker
kyle, smith
mark, davis 
danny, green
myles, cook
csv_文件2:

first_name, last_name
corey, mintzer 
lucas, erin
mark, davis 
danny, green 
myles, turner 
first_name,last_name
corey, mintzer 
lucas, erin
mark, davis 
danny, green 
myles, turner 
预期产出:

first_name, last_name
mark, davis
danny, green
这是我不工作的代码。我对熊猫图书馆不太在行,我相信还有其他方法可以做到这一点

import pandas as pd
a = pd.read_csv('file1.csv')
b = pd.read_csv('file2.csv')
c = pd.merge(a, b, how='inner', on=['first_name', 'last_name'])
c.to_csv('remove_dup_.csv')

非常感谢您的帮助

这为您解决了这个问题:

数据

a = pd.DataFrame([['lucas', 'micker'],
                ['kyle', 'smith'],
                ['mark', 'davis' ],
                ['danny', 'green'],
                ['myles', 'cook']], columns = ['first', 'last'])
b = pd.DataFrame([['corey', 'mintzer' ],
                ['lucas', 'erin'],
                ['mark', 'davis' ],
                ['danny', 'green' ],
                ['myles', 'turner']] , columns = ['first', 'last'])

解决方案

c = pd.concat([a,b], axis=0) # stack  dataframes
d = c[c.duplicated(keep='first')] # get duplicated rows
输出

print(d.to_string())
   first   last
7   mark  davis
8  danny  green

您的代码是正确的,问题是您没有命名csv的列。默认情况下,pandas将csv的第一行作为列名

以下是如何修改csv以使代码正常工作:

csv_文件1:

first_name,last_name
lucas, micker
kyle, smith
mark, davis 
danny, green
myles, cook
csv_文件2:

first_name, last_name
corey, mintzer 
lucas, erin
mark, davis 
danny, green 
myles, turner 
first_name,last_name
corey, mintzer 
lucas, erin
mark, davis 
danny, green 
myles, turner 

这应该行得通,你能更准确地说明什么“不起作用”吗?也许这是一个前导/尾随空格问题,或者您的输出中是否有更多的重复项?我同意@ALollz的观点,这应该可以工作。我的两个csv文件都包含数百行,我如何才能使其在“a”和“b”的文件路径中出现?这些文件中有头吗?这些文件中有头好的,我编辑了文件,还添加了一个清理字符串的步骤,因为字符串末尾的空格可能有问题