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.

任何帮助,将不胜感激。

原文由 Jerry 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 806
1 个回答

Pandas 来救援,使用 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

原文由 cs95 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题