Dataframe не может заполнить значения NaN в пандах - PullRequest
1 голос
/ 01 июня 2019

У меня есть DataFrame с некоторыми значениями NaN, которые я хочу согласовать со средним значением моего DataFrame

data.fillna(data.mean())

, после чего я проверяю, остались ли какие-либо значения NaN или нулевые значения

 print('is nan', data.isna().values.any()) #prints True
 print('is null', data.isnull().values.any()) #prints True

перед печатью, чтобы быть правдой, и я не понимаю, так как значения NaN должны быть заполнены.

Я что-то упустил?

Ответы [ 2 ]

2 голосов
/ 01 июня 2019

Попробуйте изменить ваш датафрейм на месте:

data.fillna(data.mean(), inplace=True)

Или сделать это, чтобы создать новый фрейм данных с заменой NaN на data.mean():

data_new = data.fillna(data.mean())
1 голос
/ 01 июня 2019

Это пример воспроизводимого образца.

import pandas as pd
# generate sample dataframe some filled with NaN
data = pd.DataFrame([[1, 2], [np.nan, 4], [5, 6], [7, np.nan]], columns=["A", "B"])
# apply per-column and substitue the mean of that columns 
data.apply(lambda x: x.fillna(x.mean()),axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...