Python 调用dataframe中的列时有keyerror

Python 调用dataframe中的列时有keyerror,python,pandas,Python,Pandas,我正在使用协同过滤创建一个电影推荐系统,并使用熊猫数据框创建了10部最受推荐的电影列表 我就是这样创建它的: movie_titles=pd.DataFrame(movieID) movie_titles.columns=['movieId', 'title', 'genres'] df=pd.merge(df, movie_titles, on='movieId') ratings=pd.DataFrame(df.groupby(

我正在使用协同过滤创建一个电影推荐系统,并使用熊猫数据框创建了10部最受推荐的电影列表

我就是这样创建它的:

        movie_titles=pd.DataFrame(movieID)
        movie_titles.columns=['movieId', 'title', 'genres']
        df=pd.merge(df, movie_titles, on='movieId')
        ratings=pd.DataFrame(df.groupby('title')['rating'].mean())
        ratings['num of ratings']=pd.DataFrame(df.groupby('title')['rating'].count())
        moviemat=df.pivot_table(index='userId', columns='title', values='rating')
        movie_user_ratings=moviemat[movielens_title]
        similar_to_movie=moviemat.corrwith(movie_user_ratings)
        corr_movie=pd.DataFrame(similar_to_movie, columns=['Correlation'])
        corr_movie=corr_movie.join(ratings['num of ratings'])
        collab_ratings=corr_movie[corr_movie['num of ratings']>100][corr_movie['Correlation']<1].sort_values('Correlation',ascending=False).head(10)
movie\u titles=pd.DataFrame(movieID)
movie_titles.columns=['movieId','title','genres']
df=pd.merge(df,电影标题,on='movieId')
ratings=pd.DataFrame(df.groupby('title')['rating'].mean())
ratings['num of ratings']=pd.DataFrame(df.groupby('title')['ratings'].count())
moviemat=df.pivot_表(index='userId',columns='title',values='rating')
电影用户分级=电影材料[电影名称]
与电影类似=moviemat.corrwith(电影用户分级)
corr_movie=pd.DataFrame(类似于_movie,列=['Correlation'])
corr_movie=corr_movie.join(收视率['num of ratings'])

collab_ratings=corr_movie[corr_movie['num of ratings']>100][corr_movie['Correlation']这不是一列,这是索引。请尝试
collab_ratings.index
collab_ratings.reset_index()['title']
非常感谢!假设title是索引,而列是相关性和评级数,这样安全吗?您可以很容易地检查自己,
打印(collab\u ratings.columns)
打印(collab\u ratings.index)
并检查输出。python的原则之一是“显式优于隐式”,因此,在不验证您想要的具体行为的情况下,“安全地假设”这样的事情是不可能的