【发布时间】:2020-02-26 02:46:20
【问题描述】:
我正在尝试使用 fillna() 函数替换数据框列“功能”中的 nan 值。我面临的问题如下:
- 我可以使用
isnull()检测空值
dfcomp[dfcomp['Functional'].isnull()==True]
- 使用上面的索引我搜索了实际值
dfcomp['Functional'][2216]
- 但是当我尝试使用
fillna()填充nan 时,什么也没有发生。即使在运行了 fillna 语句后,我也可以重新运行第一个语句并看到相同的 2 个 nan 实例。
dfcomp['Functional']=dfcomp['Functional'].fillna(value=dfcomp['Functional'].mode())
两个版本我都试过了
dfcomp['Functional'].fillna(value=dfcomp['Functional'].mode(),inplace=True)
- 我也尝试过使用
replace()函数,但没有成功
dfcomp['Functional']=dfcomp['Functional'].replace({'nan':dfcomp['Functional'].mode()})
我的代码有问题吗?为什么fillna() 无法识别nan 而isnull() 可以识别?
另外,为什么索引搜索显示值为nan,但是当我尝试使用replace() 替换相同的值时没有结果?
当我的fillna() 无法识别时,如何替换 nan 值?
【问题讨论】:
-
嗨 PVL,欢迎来到 SO。对于可以将输出复制并粘贴到格式化代码块中的编码问题,通常不鼓励使用图像。您可以查看stackoverflow.com/questions/20109391/…,了解如何让您的数据更容易获得/重现。
标签: python pandas dataframe nan fillna