У меня проблема с типом данных.
Пожалуйста, предположите, что это мой примерный фрейм данных.
class1 class2 docid
A123 08/9 X123
A123 08/1 X123
A124 08/1 X124
A124 08/2 X124
A125 08/3 X125
Я объединил class1 и class2, затем назвал class3
class3 docid
A123,08/9 X123
A123,08/1 X123
A124,08/1 X124
A124,08/2 X124
A125,08/3 X125
, а затем сделать матрицу с помощью get_dummies
df1 = pd.get_dummies(df.docid).sort_index(level=0).max(level=[0,1])
df1
и получите такие результаты
class3 X123 X124 X125
A123,08/9 1 0 0
A123,08/1 1 0 0
A124,08/1 0 1 0
A124,08/2 0 1 0
A125,08/3. 0 0 1
и затем я отбросил class3, а затем транспонировал эту матрицу, чтобы вычислить сходство Жакара по docid
df1_new = df1.drop(['class3'], axis=1)
df1_new_1 = df1_new.transpose()
df1_new_1
и результаты такие:
0 1 2 3 4
X123 1 1 0 0 0
X124 0 0 1 1 0
X125 0 0 0 0 1
Исходя из этого, столбец не имеет имени, тогда я хотел бы спросить, как я могу изменить X123 X124 X125 на 0 1 2 или изменить только тип данных со строки на int? потому что, когда я использую этот результат для вычисления сходства Жакара, он появляется
ValueError: invalid literal for int() with base 10: 'X123'
заранее спасибо