У меня есть фрейм данных:
mydf = pd.DataFrame({'foo': ['bar', 'NA', 'Bar'], 'bar': ['NA', 'foo', 'NA']})
Я бы хотел заполнить значения 'NA' с помощью функции fillna(). Однако fillna() не определяет «NA» в качестве значений Null / NaN.
fillna()
Придется ли мне преобразовывать все «NA» в NaN? Или я могу трактовать 'NA' как NaN в моем фрейме данных?
Вы можете использовать функцию замены
mydf.replace('NA', <value_you_want>, inplace=True)
или, во-первых, заменить 'NA' на NaN и использовать fillna метод
fillna
import numpy as np mydf.replace('NA', np.nan, inplace=True) mydf.fillna(<value_you_want>)
Вам необходимо преобразовать все значения 'NA' в NumPy .nan значения и потому, что python обнаруживает 'None', а не 'NA'.