2017-03-15 73 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