У меня есть набор данных в 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
, он пишет, что все столбцы имеют тип объекта.
Скриншот типов объектов
Помогите исправить ошибку и решить проблему!