Я тяну свои волосы сюда.Мне нужно заменить null значения в столбце данных pandas.В частности, это нулевые значения, а не значения 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 с лямбда-выражением, но читал, что это ужасно неэффективно.