在 Pandas 数据框中将 NaN 更改为 None

Posted

技术标签:

【中文标题】在 Pandas 数据框中将 NaN 更改为 None【英文标题】:Change NaN to None in Pandas dataframe 【发布时间】:2021-06-19 23:09:06 【问题描述】:

我尝试在 pandas 数据框中将 Nan 替换为 None。它正在使用df.where(df.notnull(),None)。 这是此方法的线程。 Use None instead of np.nan for null values in pandas DataFrame

当我尝试在另一个数据帧上使用相同的方法时,它失败了。 新的数据框如下所示 A NaN B C D E,打印出来的数据框是这样的:

     Unnamed: 1  Unnamed: 2 Unnamed: 3 Unnamed: 4 Unnamed: 5 Unnamed: 6  
0         A         NaN          B          C          D          E 
 

即使我使用针对新数据帧运行的工作代码,它也失败了。 我只是想知道是不是因为在 excel 中,单元格格式必须是某种类型。 对此有何建议?

【问题讨论】:

【参考方案1】:

这总是对我有用

df.replace(np.nan:None)

You can check this related question, Credit from here

【讨论】:

【参考方案2】:

问题是我没有遵循格式。 我使用的导致问题的格式是

df.where(df.notnull(), None)

如果我这样写代码就没有问题

df = df.where(df.notnull(), None)

【讨论】:

以上是关于在 Pandas 数据框中将 NaN 更改为 None的主要内容,如果未能解决你的问题,请参考以下文章

使用 np.where() 在 pandas 数据框中将 True/False 值更改为离散值

如何在pandas中将多个相同类别的行组合成一个?

在 Pandas 中将两列与 NaN 进行比较并获得差异

如何在 Pandas 中将数据格式更改为“%Y%m%d”?

在python脚本中将excel文件更改为csv?

如何在熊猫时间序列图中将 xticks 更改为年间隔