索引超出 iterrows 范围
index out of bound with iterrows
我收到错误 IndexError:索引 5105 超出尺寸为 5105 的轴 0 的范围
使用该代码我理解了问题但是如何解决它知道我使用 df.iterrows() ?
anime_edges = {}
for idx, row in interactions_from_selected_users_df.iterrows():
similar_indices = anime_interactions[idx].argsort()[:-100:-1]
similar_items = [(anime_interactions[idx][i], interactions_from_selected_users_df['anime_id'][i]) for i in similar_indices]
anime_edges[row['anime_id']] = similar_items[:20]
此代码的主要目的是创建一个节点与其他最相似节点的边(我尝试构建一个基于图的推荐器)
anime_interactions来自嵌入矩阵的点积通过linear_kernel
anime_interactions = linear_kernel(anime_embeddings, anime_embeddings)
您的 iterrows()
循环以 idx
作为索引占位符遍历 interactions_from_selected_users_df
中的每一行。但是您也使用 idx
索引到 anime_interactions
。
根据您的评论,interactions_from_selected_users_df
中的行数比 anime_interactions
中的行数多,因此当 idx
大于行数时,您会看到您遇到的错误( 5105) 在 anime_interactions
.
您可以在循环中使用条件逻辑或 try
/except
来捕获这些错误 - 或者在 idx == len(anime_interactions)
.
时停止
我收到错误 IndexError:索引 5105 超出尺寸为 5105 的轴 0 的范围 使用该代码我理解了问题但是如何解决它知道我使用 df.iterrows() ?
anime_edges = {}
for idx, row in interactions_from_selected_users_df.iterrows():
similar_indices = anime_interactions[idx].argsort()[:-100:-1]
similar_items = [(anime_interactions[idx][i], interactions_from_selected_users_df['anime_id'][i]) for i in similar_indices]
anime_edges[row['anime_id']] = similar_items[:20]
此代码的主要目的是创建一个节点与其他最相似节点的边(我尝试构建一个基于图的推荐器)
anime_interactions来自嵌入矩阵的点积通过linear_kernel
anime_interactions = linear_kernel(anime_embeddings, anime_embeddings)
您的 iterrows()
循环以 idx
作为索引占位符遍历 interactions_from_selected_users_df
中的每一行。但是您也使用 idx
索引到 anime_interactions
。
根据您的评论,interactions_from_selected_users_df
中的行数比 anime_interactions
中的行数多,因此当 idx
大于行数时,您会看到您遇到的错误( 5105) 在 anime_interactions
.
您可以在循环中使用条件逻辑或 try
/except
来捕获这些错误 - 或者在 idx == len(anime_interactions)
.