Pillas fillna бросает ValueError: значение заполнения должно быть в категориях - PullRequest
0 голосов
/ 07 декабря 2018

Описание: обе функции в категориальных типах.и я использовал этот код в другом ядре с тем же набором дат, который работал нормально, с той лишь разницей, что функции есть в flote64.позже я преобразовал эти типы объектов в Категориальные, потому что все функции в наборе данных представляют категории.

Ниже приведен код:

AM_train['product_category_2'].fillna('Unknown', inplace =True)
AM_train['city_development_index'].fillna('Missing', inplace =True)

1 Ответ

0 голосов
/ 07 декабря 2018

Используйте Series.cat.add_categories для добавления новых категорий:

AM_train['product_category_2'] = AM_train['product_category_2'].cat.add_categories('Unknown')
AM_train['product_category_2'].fillna('Unknown', inplace =True) 

AM_train['city_development_index'] = AM_train['city_development_index'].cat.add_categories('Missing')
AM_train['city_development_index'].fillna('Missing', inplace =True)

Образец :

AM_train = pd.DataFrame({'product_category_2': pd.Categorical(['a','b',np.nan])})
AM_train['product_category_2'] = AM_train['product_category_2'].cat.add_categories('Unknown')
AM_train['product_category_2'].fillna('Unknown', inplace =True) 

print (AM_train)
  product_category_2
0                  a
1                  b
2            Unknown
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...