首页 > 解决方案 > Pandas 保存为 CSV 时更改 NaN 值的格式

问题描述

我正在使用 df 并使用 numpy 转换数据 - 包括将空白(或'')设置为 NaN。但是当我将 df 写入 csv 时 - 输出包含字符串“nan”,而不是 NULL。

我环顾四周,但找不到可行的解决方案。这是基本问题:

df
index x    y   z
0     1   NaN  2
1     NaN  3   4

CSV 输出:

index x    y   z
0     1   nan  2
1     nan  3   4

我尝试了一些将“nan”设置为 NULL 的方法,但 csv 输出结果为“空白”而不是 NULL:

dfDemographics = dfDemographics.replace('nan', np.NaN)
dfDemographics.replace(r'\s+( +\.)|#', np.nan, regex=True).replace('', 
np.nan)
dfDemographics = dfDemographics.replace('nan', '')  # of course, this wouldn't work, but tried it anyway.

任何帮助,将不胜感激。

标签: pythonpandascsvnan

解决方案


熊猫来救援,na_rep用来修复你自己的 NaN 表示。

df.to_csv('file.csv', na_rep='NULL')

file.csv

,index,x,y,z
0,0,1.0,NULL,2
1,1,NULL,3.0,4

推荐阅读