函数未返回正确的观察值

2024-09-26 22:43:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个函数来显示在给定的数据帧中由用户评分最高的电影的n数量。我已经能够提取电影的用户提供的评级,但我不能返回正确的行数-相反,它打印所有电影与评级从用户

我已经尝试过这种方法,如代码中所示,但它不起作用:

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行


Tags: 函数用户datareturn电影titleusrtop
1条回答
网友
1楼 · 发布于 2024-09-26 22:43:35

我不确定你到底想达到什么目的,但请检查以下内容:

import pandas as pd


df = pd.DataFrame(
        {
         'user_id': [1, 1, 1, 2, 2, ],
         'title': ['t1', 't2', 't3', 't1', 't5'],
         'rating': [25, 25, 35, 25, 30,],
        })


df.sort_values(by='rating', ascending=False).groupby('user_id')[['user_id', 'title','rating', ]].nth(list(range(30)))

相关问题 更多 >

    热门问题