2017-03-15 77 views
0

我正在研究movielens数据集,我想通过应用函数创建一个新列,基本思想是: 1)从ratings_dataframe中获取相应的电影ID 2)用这个电影ID查找电影从moviesdata_frame 3名),并在收视率数据帧将函数应用到熊猫的列

我的代码由该值复制到相应的单元格:

def getname(p): 
    nm = movies.loc[movies['movie_id'] == 'p']['title'] 
    return nm 



ratings['title'] = ratings.apply(lambda row:getname(gg['movie_id'])) 

的错误是:(”无效类型比较',发生在索引movie_id')

回答

1

你并不需要为这个简单的映射函数:

ratings_dataframe['title'] = \ 
    ratings_dataframe['movie_id'].map(movies.set_index('movie_id')['title']) 
+1

作品般的魅力。 – 100rabh

+0

是否可以在不使用set_index函数的情况下执行相同的操作? – 100rabh

+1

你可以尝试使用'join'或'merge'来代替,但它会变得更慢...... – MaxU