如何将.dat文件的float值读取为float而不是对象

时间:2018-10-05 15:04:16

标签: python-3.x pandas

我正在使用read_csv读取数据文件。我有一个浮点列,其值为空白,0、1、1.3、5.4等。当我检查数据框时,此列类型为“对象”而不是浮点。下面是我使用的语法:

Source=pd.read_csv(dat.gz", sep='\Ç',keep_default_na=False,header=None,engine='python')

在读取自身时,该列是否仍为浮点数?

1 个答案:

答案 0 :(得分:0)

我猜问题出在空白单元格中。熊猫可能无法将其作为浮点数进行处理,因此它将整个列设置为“对象”。

您可以在pd.read_csv函数中将列设置为数字:

Source = pd.read_csv("dat.gz", sep='\Ç', , dtype={"yourColumn" : np.float64}, keep_default_na=False, header=None,engine='python')

或者您可以在以后更正它。它可能看起来应该像这样:

 Source['yourColumn'] = pd.to_numeric(Source['yourColumn'], errors='coerce')

“强制”部分可确保将每个不能转换为数值的单元格都更改为NaN。