Объект '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 может применяться только к строкам, а не к поплавкам.

Вы можете преобразовать число с плавающей точкой в ​​строку, но, очевидно, это не имеет большого смысла.

Похоже, вы просто скопировали и вставили код из Интернета, который вы не понимаете. Возможно, вам следует сначала сосредоточиться на понимании кода, а затем запустить его. Как только вы поймете код, должно быть очевидно, откуда возникла ошибка и как ее исправить.

Другие вопросы по тегам