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