删除NaN并在Python Pandas中转换为float32

时间:2015-09-23 20:49:10

标签: python csv pandas

我正在将数据从csv文件读入数据框,尝试删除包含NaN的所有行,然后将其从float64转换为float32。我尝试过在网上找到的各种解决方案,似乎没什么用。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

我认为这可以满足您的需求:

pd.read_csv('Filename.csv').dropna().astype(np.float32)

要保留仅包含某些 NaN值的行,请执行以下操作:

pd.read_csv('Filename.csv').dropna(how='all').astype(np.float32)

要用数字替换每个NaN而不是删除行,请执行以下操作:

pd.read_csv('Filename.csv').fillna(1e6).astype(np.float32)

(我以1,000,000替换NaN作为例子。)

答案 1 :(得分:2)

您还可以在阅读csv文件时指定@RenderBody()

  

dtype:列名称或列表 - >类型         数据或列的数据类型。例如。 {'a':np.float64,'b':np.int32}

dtype

示例:

pd.read_csv(my_file, dtype={col: np.float32 for col in ['col_1', 'col_2']})