Объект 'float' не имеет атрибута 'encode'
Этот код предназначен для индексации и сортировки в каждом кластере, чтобы определить, какие из n верхних (я выбрал n=6) слов являются ближайшими к центроиду кластера. Во всяком случае, я обнаружил такого рода ошибки: объект "float" не имеет атрибута "закодировать"
Может кто-нибудь мне помочь? код следующий:
from __future__ import print_function
print("Top terms per cluster:")
print()
#sort cluster centers by proximity to centroid
order_centroids = km.cluster_centers_.argsort()[:, ::-1]
for i in range(num_clusters):
print("Cluster %d words:" % i, end='')
for ind in order_centroids[i, :6]: #replace 6 with n words per cluster
print(' %s' % vocab_frame.ix[terms[ind].split(' ')].values.tolist()[0][0].encode('utf-8', 'ignore'), end=',')
print() #add whitespace
print() #add whitespace
print("Cluster %d titles:" % i, end='')
for title in frame.ix[i]['title'].values.tolist():
print(' %s,' % title, end='')
print() #add whitespace
print() #add whitespace
print()
print()
заранее спасибо
1 ответ
Метод encode
может применяться только к строкам, а не к поплавкам.
Вы можете преобразовать число с плавающей точкой в строку, но, очевидно, это не имеет большого смысла.
Похоже, вы просто скопировали и вставили код из Интернета, который вы не понимаете. Возможно, вам следует сначала сосредоточиться на понимании кода, а затем запустить его. Как только вы поймете код, должно быть очевидно, откуда возникла ошибка и как ее исправить.