Используйте Object_id как индексы в Python (Cosine Similarity) - PullRequest
0 голосов
/ 29 марта 2019

Я использую фрейм данных pandas с идентификатором _id в качестве новостной статьи.Проблема в том, что когда я использую '_id' в качестве индексов, он показывает ошибку

** TypeError: объект 'str' не может быть интерпретирован как целочисленная трассировка TypeError (последний вызов был последним) C: \ Program Files(x86) \ Microsoft Visual Studio \ Shared \ Anaconda3_64 \ lib \ site-packages \ pandas \ core \ indexes \ base.py в get_value (self, series, key) 3108 try: -> 3109 return libindex.get_value_box (s, key) 3110 кроме IndexError:

pandas_libs \ index.pyx в pandas._libs.index.get_value_box ()

pandas_libs \ index.pyx в pandas._libs.index.get_value_box () ** df.head() Result

Вот мой код

indices = pd.Series(ds.index, index=ds['_id']).drop_duplicates()


   def get_recommendations(id, cosine_sim=cosine_sim):


    idx = indices[id]


    sim_scores = list(enumerate(cosine_sim[idx]))


    sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)


    sim_scores = sim_scores[1:11]
    sc=[]
    for count,ele in sim_scores: 
       sc.append(ele)




    movie_indices = [i[0] for i in sim_scores]
    ff = pd.DataFrame(columns=['A','B','C'])
    ff['A']=ds['_id'].iloc[movie_indices]
    ff['B']=ds['title'].iloc[movie_indices]
    ff['C']=sc


   return ff

get_recommendations('4fd2b43e8eb7c8105d8a67e8')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...