我有很多包含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中尝试使用类似问题的解决方案无济于事。
如果有人告诉我我的方法有什么问题以及如何解决这个问题,我将不胜感激。如有必要,我可以共享文件。