python中的nan问题(pandas)程序无法识别nan

qxsslcnc  于 2023-06-20  发布在  Python
关注(0)|答案(2)|浏览(234)

我在奇怪的情况下股票
我有 Dataframe ,有些值为空
当我尝试做改变空,我不能这样做,由于某种原因,控制台dosent承认空

    • 例如:**
df["volume_fermentor"]=df["volume_fermentor"].replace(np.nan,999)

当我运行它,控制台成功做它,但没有改变在 Dataframe

    • 另一个例子:**
df["volume_fermentor"][4]

Out[79]: nan

df["volume_fermentor"][4]==df["volume_fermentor"][4]

Out[80]: False

df["volume_fermentor"][4]==np.nan

Out[81]: False'
4ktjp1zp

4ktjp1zp1#

你不能直接和NaN比较:NaN等于零,甚至不等于它自己。
改为使用np.isnan(或Pandas中的等效功能):

>>> np.isnan(df["volume_fermentor"][4])
True

对于整个Pandas Dataframe 或系列,您可以使用

df.isnull()

和/或

s.isnull()

分别表示。这将产生一个 Dataframe 或一系列布尔值,每个NaN对应True

zd287kbt

zd287kbt2#

我也遇到了同样的问题,解决方案是使用str()
在您的案例中:str(df["volume_fermentor"][4])==np.nan

相关问题