Python比较数据集

时间:2018-02-07 16:57:40

标签: python csv

我有两个csv文件。

包含如下列的列:

10.10.10.10 madeupdnsentry.domain.com

另一个看起来像这样:

10.10.10.10 ABCD.EFGH.1234

我想比较和组合匹配的条目。所以我最终可能会:

10.10.10.10 madeupdnsentry.domain.com ABCD.EFGH.1234

最好的方法是什么?它有大约1000个条目,有些将有匹配一些赢了。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

你可以使用pandas.read_csv(path)读取带有Pandas的csv文件,然后在pandas中使用.merge()函数将它们连接到你想要的任何列上,并且可以通过传递设置连接的完成方式参数how,例如df1.merge(df2, on='some_column', how='left')

答案 1 :(得分:0)

使用pandas。请注意,这基本上是inner join,所以如果两个数据集之间存在不匹配的记录,它们就会失效。但您可以使用how函数中的merge关键字参数更改联接。

>>> import pandas as pd
>>> data1 = [['10.10.10.10','madeupdnsentry.domain.com']] 
>>> data2 = [['10.10.10.10','ABCD.EFGH.1234']]
>>> df1 = pd.DataFrame(data1, columns=['ip', 'domain1'])
>>> df2 = pd.DataFrame(data2, columns=['ip', 'domain2'])
>>> df1.merge(df2, on='ip')
            ip                    domain1         domain2
0  10.10.10.10  madeupdnsentry.domain.com  ABCD.EFGH.1234