Могу ли я использовать kwargs для передачи этой части функции? - PullRequest
0 голосов
/ 29 мая 2020

Я использую эту функцию автоочистки в библиотеке datacleaner в python.
Она делает 3 вещи,
(1) вменяет недостающие значения с помощью режима (Категориальный)
(2) вменяет отсутствующие значения с помощью медиана (непрерывный)
(3), а затем кодирует метку

Я хочу, чтобы функция «пропускала» кодирование. Я знаю, что в функции, которую я могу использовать, есть kwarg.
Как мне go об этом?

 from datacleaner import autoclean
  cdf= autoclean(df, encoder=True, encoder_kwargs=None)

Это сообщение об ошибке (которое также означает базовый код):

     90         if str(input_dataframe[column].values.dtype) == 'object':
     91             if encoder is not None:
---> 92                 column_encoder = encoder(**encoder_kwargs).fit(input_dataframe[column].values)
     93             else:
     94                 column_encoder = LabelEncoder().fit(input_dataframe[column].values)

1 Ответ

0 голосов
/ 29 мая 2020

Обозначение ** Python в качестве префикса ожидает, что словарь будет распакован как kwargs, поэтому имеет смысл, что он выдает ошибку при задании None в качестве значения.

Попробуйте вместо этого установить encoder_kwargs={} в вашем вызове , это должно немедленно исправить ошибку. Я не знаю, будет ли это «пропускать» кодирование, как вы хотели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...