Pandas。合并正在添加额外的行

2024-04-26 03:42:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些CSV文件,有3个字段: 文件1:

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

文件2:

^{pr2}$

前三个文件的行数(和唯一键)约为7000行。name和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次合并后测试文件.shape如预期的那样是8782 x 5。 第四个文件比其他的3647 x 3小,合并似乎可以正常工作,但是结果文件的末尾有许多额外的行,如下所示:

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

以及测试文件.shape是8973 x 7,而它应该是8782 x 6。 我在Pandas Merge (pd.merge) How to set the index and join中尝试过类似问题的解决方案,但没有成功。在

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


Tags: 文件csvtonameindexcountmergenan