pandas.merge正在添加额外的行

时间:2015-03-26 15:25:00

标签: python pandas merge

我有很多包含3个字段的CSV文件: 文件1:

name desc count
AAA aaa 5
BBB bbb 15 ...

文件2:

name desc count
ZZZ zzz 5
BBB bbb 25 ...

三个第一个文件中的每个文件的行数(和唯一键)大约为7000。名称和desc是我的密钥,其中一些在不同文件之间共享,如上例所示。 我有一个合并文件的循环,它适用于三个第一。这是我的电话:

testfile = pandas.merge(testfile, file1 to fileN, on= ['name', 'desc'], how = 'outer')

循环的结果如下所示(我只提供了两个第一列):

name desc count_x count_y ...
AAA aaa 5  NaN ..   
BBB bbb 15 25 ..
ZZZ zzz NaN 5 ..

3合并后testfile.shape是8782 x 5,如预期的那样。 第四个文件小于其他3647 x 3并且合并似乎工作正常但是生成的文件最后有一些extralines像这样:

name  desc  count_x  count_y  count_x  index_y  count_y...
8943   NaN   NaN   NaN   NaN   NaN   NaN   3419   1...

并且testfile.shape是8973 x 7,而它应该是8782 x 6。 我在Pandas Merge (pd.merge) How to set the index and join中尝试使用类似问题的解决方案无济于事。

如果有人告诉我我的方法有什么问题以及如何解决这个问题,我将不胜感激。如有必要,我可以共享文件。

0 个答案:

没有答案