Замените ** NULL ** значения в кадре данных Pandas - PullRequest
0 голосов
/ 13 марта 2019

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

1 Ответ

0 голосов
/ 13 марта 2019

Неважно всем

Решено с помощью:

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

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

...