#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 в другом каталоге