NeelQuery Ответов: 1

Python : attributeerror: длинный объект не имеет атрибута cat


У меня есть столбец таблицы данных, которая была дискретизирована с помощью ПД.вырезать. Пытаясь работать с алгоритмом, я должен сделать следующее:
for k, v in dictMap.items():
 df.loc[k, column] = v 


Это дает мне ошибку:
<pre lang="Python">>ValueError: Cannot setitem on a Categorical with a new category, set the categories first
.

После дискретизации столбец а содержит значения [1,2,3,4,5].

Что я уже пробовал:

После выяснения типа данных я попытался преобразовать столбец dtype с помощью:
df["A"] = df ["A"].apply(lambda x: x.cat.codes)
.

Теперь это дает мне ошибку:
AttributeError: long object has no attribute cat
.

print(df["A"])

выходы:
Name:A, Length 891, dtype:category
Categories(25, int64): [0<1<2<3...21<22<23<24]


Моя цель состоит в том, чтобы этот дискретизированный столбец в фрейме данных был преобразован в dtype int.

1 Ответов

Рейтинг:
4

NeelQuery

Заставил его работать как объект с:

df["A"]=df.A.astype(object)