为什么熊猫在字符串末尾添加“ .0”?

时间:2019-10-16 23:02:39

标签: python pandas

我正在处理一个csv文件。源文件的值为'20190801'。对于不同的文件,Pandas将其检测为intfloat。但是在写入输出之前,我将所有列都转换为字符串,并且数据类型将所有列显示为对象。但是输出末尾包含.0。为什么会这样?

例如:20190801.0

   for col in data.columns:
        data[col] = data[col].astype(str)
    print(data.dtypes) <-- prints all columns datatypes as object

    data.to_csv(neo_path, index=False)

1 个答案:

答案 0 :(得分:0)

我这样固定; 我添加了converters参数,并确保所有有问题的列在我的情况下都应保留为字符串。

 data = pd.read_csv(filepath, converters={"SiteCode":str,'Date':str,'Tank ID':str,'SIRA RECORD ID':str}
....
 data.to_csv(neo_path,index=False)

在这种情况下,我摆脱了,将所有列类型都转换为我的主题所指的字符串。

 for col in data.columns:
        data[col] = data[col].astype(str) 

:将输出写入csv时此方法无效。它将字符串再次转换回浮点数