首页 > 解决方案 > 如何阻止 Python Pandas 将特定列从 int 转换为 float

问题描述

试图将数据框放入 txt 文件(用于提要)。一些特定的列会自动转换为 float 而不是 int。

我如何指定这些列以将 int 用作 dtype?我试图将整个数据帧输出为字符串,但这不起作用。

我要指定的列名为 [CID1] 和 [CID2]

    data = pd.read_sql(sql,conn)
    data = data.astype(str)
    data.to_csv('data_feed_feed.txt', sep ='\t',index=True)

标签: python-3.xpandasdataframe

解决方案


根据您提供的代码,您在导出之前将所有数据转换为字符串。

因此,您要么需要将一些 cols 转回所需的类型,例如:

data["CID1"] = data["CID1"].astype(int) 

或者不首先转换它们。

从您提供的内容中不清楚为什么在将整数转换为浮点数时会遇到问题。

这篇文章提供了大量信息: stackoverflow.com/a/28648923/9249533


推荐阅读