【发布时间】:2019-05-28 22:06:56
【问题描述】:
我有一个程序可以将多个 .csv 文件聚合为一个。当我执行添加 3 个相同结构的文件(列的数量和名称)时,它会传递一条成功消息,通知 3 个文件已加入总共 1154341 行。当我添加另一个相同结构的文件时,消息更新为四个文件和 1446553 行。到目前为止,一切都很好。当我使用 pandas 读取它们时(pd.read_csv (file.csv)),这两个文件大小相同,文件大小越小。当我分析单个列时,请注意两个数据框的索引差异:
#Union of 3 .csv files
>>>df_reembolsos_1['ideCadastro']
0 NaN
1 NaN
2 NaN
...................
1154338 195997.0
1154339 195997.0
Name: ideCadastro, Length: 1154339, dtype: float64
# Union of 4 .csv file
>>> df_reembolsos_2['ideCadastro]
0 NaN
1 NaN
2 NaN
...................
1446550 195997
1446551 195997
Name: ideCadastro, Length: 1154339, dtype: object
让我印象深刻的是,在读取第一个文件时,索引的数量等于大小,而在第二种情况下,索引的数量大于大小。我查看了这两个文件,它们确实不同,并且具有连接不同文件编号的预期大小。我注意到的一个区别是读取较大文件时出现以下警告消息:
DtypeWarning:列 (1,2,3,4,5,8,10,11,12,13,15,22,23,28) 具有混合类型。
当我阅读较小的文件时,此消息仅涉及第 1 列。所以我想知道这个问题是熊猫的限制还是数据有问题,我该如何解决。
【问题讨论】: