Я получаю сообщение об ошибке "Невозможно сравнить типы 'ndarray (dtype = object)' и 'str'" в python - PullRequest
0 голосов
/ 24 октября 2019

У меня есть набор данных в CSV и словарь, созданный классификатором. Необходимо поставить значения ключей вместо ключей (здесь пример ). Сначала я пытался сделать это с помощью такого кода

for key, value in xxx.items(): 
lime_df.replace(value, key, inplace = True)

, но замена затянулась на несколько дней. Теперь я использую следующий код:

lime_df.replace(mapping,inplace = True)

, но получаю ошибку:

TypeError: Невозможно сравнить типы 'ndarray (dtype = object)' и 'str'

Вот как выглядит словарь:

{-5.486750964678322e-08: '2', 1.187718366754473e-17: '3', -7.059511863971579e-10: '10',
 -3.0349327687745536e+16: '18', -8.017016298890468e-18: '15', 107.15808868408203: '1',
 -8.300757059487296e-08: '5', -2.1828310439085026e+32: '13', -1.3752891451707128e+38: '8',
 5.882867218031023e-22: '14', -1.0941715971078361e+23: '17', -8.360684200807262e-18: '11',
 -1.0765597196911002e+36: '4', -1.5831559552949374e+38: '7', -1.5324417530020214e-27: '9', }

Все значения в таблице являются категориальными, поэтому для классификатора я использую

lime_df.astype(str) 

И если выЗвоните lime_df.dtypes, он пишет, что все столбцы имеют тип объекта.

Скриншот типов объектов

Помогите исправить ошибку и решить проблему!

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