熊猫数据框to_csv()默认将字符串“ 1”转换为“ 1.0”

时间:2019-04-10 13:07:11

标签: pandas

Pandas数据框to_csv()默认执行不需要的格式转换。

我有一个Excel工作表,其中包含带有整数值的列,这些列引用Web应用程序中的选项。在将它们导出为CSV之前,我花了相当长的时间将这些整数值转换为字符串。但是,当我这样做时,to_csv()仍将“ 1”转换为“ 1.0”,将“ 0”转换为“ 0.0”。第一个问题是,如何防止熊猫这样做?第二个问题,为什么to_excel()不显示此行为。如果我将数据框导出到Excel,则正确保存了整数值。

我在Mac OSX Mojave的虚拟环境中使用Pandas 0.23.4。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如果最初发现类型为整数或所有字符串时发现类型已变为浮点数,则很可能缺少诸如NaNNone之类的值。 / p>

因此您可以使用dropna删除这些行:

df[column] = df[column].dropna()

或替换/填充以下值:

df[column] = df[column].fillna(some_val)

其中some_val0或您想要的任何值。

这将确保该列的dtype不被混合或向上转换为float