Заменить значения **NULL ** в фрейме данных Pandas

#python #pandas #dataframe #missing-data

#python #pandas #фрейм данных #отсутствуют данные

Вопрос:

Я тут волосы на себе рву. Мне нужно заменить нулевые значения в столбце фрейма данных pandas. Это именно значения null, а не значения NaN.

Я пытался:

 trainData['Embarked'].replace(trainData['Embarked'].isnull, embarkedMost, regex=True)

trainData['Embarked'].replace('', embarkedMost, regex=True)

trainData['Embarked'].replace('', embarkedMost, regex=True, inplace=True)

trainData['Embarked'].str.replace('', embarkedMost, regex=True)

trainData['Embarked'].isnull().replace(np.nan, embarkedMost, regex=True)

trainData['Embarked'].fillna(embarkedMost)

trainData['Embarked'].str.replace(np.Nan, embarkedMost, regex=True)

trainData['Embarked'].str.replace(pd.isnull, embarkedMost, regex=True)

trainData['Embarked'].replace(r'^s $', embarkedMost, regex=True, inplace=True)
  

Затем:

 trainData.to_csv(os.path.join(os.path.dirname(__file__), 'full.csv'), sep=',')
  

После чего я загружаю набор данных в Excel для проверки, но ни одно из них не изменяет набор данных.

Это предоставляет мне правильные индексы для пустых значений:

 print(np.where(pd.isnull(trainData['Embarked'])))
  

Я хотел использовать apply с lambda, но прочитал, что это ужасно неэффективно.

Ответ №1:

Не обращайте внимания на всех

Решается с:

 trainData['Embarked'] = trainData['Embarked'].fillna(embarkedMost)
  

Я думаю, что, возможно, я открыл csv в другом каталоге