【发布时间】:2019-10-19 22:56:58
【问题描述】:
我正在尝试创建一个函数来显示n 在给定数据框中用户评分最高的电影数量。我已经能够提取用户为其评分的电影,但我无法返回正确的行数 - 而是打印所有带有用户评分的电影。
我已经尝试过这种方式,如代码中的.head(n_rows) 所示,但它不起作用:
def top_movies(data_,usr,n_rows = 10):
user = data_[data_['user_id']== usr]
movies = data_.loc[user.index].groupby('title')['title','rating']
final = movies.head(n_rows).sort_values(by = 'rating' ,ascending = False)
return final
def ex9():
return top_movies(data,1,30)
ex9()
例如,我希望在这里打印前 30 行。
【问题讨论】:
-
你能提供一个数据框结构的例子吗?
-
user 是一个面具,你可以试试这个:movies = data_.loc[user].groupby('title')['title','rating']。 movies.sort_values(by = 'rating' ,ascending = False).head(n_rows)。而且,根本不起作用,请提供您遇到的错误。