Pandas数据框to_csv()默认执行不需要的格式转换。
我有一个Excel工作表,其中包含带有整数值的列,这些列引用Web应用程序中的选项。在将它们导出为CSV之前,我花了相当长的时间将这些整数值转换为字符串。但是,当我这样做时,to_csv()仍将“ 1”转换为“ 1.0”,将“ 0”转换为“ 0.0”。第一个问题是,如何防止熊猫这样做?第二个问题,为什么to_excel()不显示此行为。如果我将数据框导出到Excel,则正确保存了整数值。
我在Mac OSX Mojave的虚拟环境中使用Pandas 0.23.4。
感谢您的帮助!
答案 0 :(得分:1)
如果最初发现类型为整数或所有字符串时发现类型已变为浮点数,则很可能缺少诸如NaN
,None
之类的值。 / p>
因此您可以使用dropna
删除这些行:
df[column] = df[column].dropna()
或替换/填充以下值:
df[column] = df[column].fillna(some_val)
其中some_val
是0
或您想要的任何值。
这将确保该列的dtype不被混合或向上转换为float
。