[英]Python - Treating the string 'NA' as Null or NaN to do fillna()
I have a dataframe:我有一个数据框:
mydf = pd.DataFrame({'foo': ['bar', 'NA', 'Bar'], 'bar': ['NA', 'foo', 'NA']})
I would like to fill the 'NA' values using the fillna()
function.我想使用fillna()
函数填充“NA”值。 However, fillna()
does not detect 'NA' as Null/NaN values.但是, fillna()
不会将“NA”检测为 Null/NaN 值。
Would I have to convert all 'NA' to NaN?我是否必须将所有“NA”转换为 NaN? Or is there a way I can treat 'NA' as NaN in my dataframe?或者有没有办法可以在我的数据框中将“NA”视为 NaN?
You can use replace function您可以使用替换功能
mydf.replace('NA', <value_you_want>, inplace=True)
Or, first, replace 'NA' with NaN and the use fillna
method或者,首先,用 NaN 替换 'NA' 并使用fillna
方法
import numpy as np
mydf.replace('NA', np.nan, inplace=True)
mydf.fillna(<value_you_want>)
您需要将所有 'NA' 转换为 NumPy.nan 值,因为 python 检测到 'None' 而不是 'NA'。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.