Я использую фрейм данных 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 () **
Вот мой код
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')