简体   繁体   English

Python - 将字符串 'NA' 视为 Null 或 NaN 来执行 fillna()

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM