df.fillna: выдает ошибку из-за значения замены для NaN, отсутствующего в категориальных атрибутах - PullRequest
1 голос
/ 09 марта 2019
df.fillna('unknown',inplace=True)

У меня есть датафрейм df, в котором некоторые атрибуты являются категориальными, а некоторые - объектами. Используя вышеприведенное выражение, я пытаюсь заполнить пропущенные значения в любом из этих столбцов значением «unknown». Но я получаю ошибку, говоря, что «неизвестно» отсутствует в категориях столбцов категориальных данных.

Как я могу это сделать?

1 Ответ

1 голос
/ 09 марта 2019

Используйте DataFrame.select_dtypes, прокрутите каждый категориальный столбец и добавьте «неизвестно» в качестве категории, используя метод add_categories на методе доступа .cat.

for col in df.select_dtypes('category'):
    df[col].cat.add_categories('unknown', inplace=True)

df.fillna('unknown',inplace=True)
...