gpt4 book ai didi

python - 收视率最高的前 5 部电影

转载 作者:太空宇宙 更新时间:2023-11-04 01:01:22 24 4
gpt4 key购买 nike

我目前面临一个小问题。我正在处理电影镜头 1M 数据,并试图获得收视率最高的前 5 部电影。

movies = pandas.read_table('movies.dat', sep='::', header=None, names= ['movie_id', 'title', 'genre'])
users = pandas.read_table('users.dat', sep='::', header=None, names=['user_id', 'gender','age','occupation_code','zip'])
ratings = pandas.read_table('ratings.dat', sep='::', header=None, names=['user_id','movie_id','rating','timestamp'])

movie_data = pandas.merge(movies,pandas.merge(ratings,users))

上面的代码是我编写的用于将 .dat 文件合并到一个 Dataframe 中的代码。然后我需要根据评分从那个 movie_data 数据帧中获得前 5 名。

这是我所做的:

print(movie_data.sort('rating', ascending = False).head(5))

这似乎是根据评分找到前 5 名。但是,输出是:

        movie_id              title                        genre  user_id  \
0 1 Toy Story (1995) Animation|Children's|Comedy 1
657724 2409 Rocky II (1979) Action|Drama 101
244214 1012 Old Yeller (1957) Children's|Drama 447
657745 2409 Rocky II (1979) Action|Drama 549
657752 2409 Rocky II (1979) Action|Drama 684

rating timestamp gender age occupation_code zip
0 5 978824268 F 1 10 48067
657724 5 977578472 F 18 3 33314
244214 5 976236279 F 45 11 55105
657745 5 976119207 M 25 6 53217
657752 5 975603281 M 25 4 27510

如您所见,Rocky II 出现了 3 次。我想知道我是否可以通过某种方式快速删除重复项,而不是再次遍历列表,然后以这种方式删除重复项。

我看过一个 pivot_table,但我不太确定它们是如何工作的,所以如果可以用这样的表来完成,我需要一些关于它们如何工作的解释

编辑。第一条评论确实删除了重复项。

movie_data.drop_duplicates(subset='movie_id').sort('rating', ascending = False).head(5)

谢谢你:)

最佳答案

您可以通过调用 drop_duplicates 删除重复条目并传递参数 subset='movie_id':

movie_data.drop_duplicates(subset='movie_id').sort('rating', ascending = False).head(5)

关于python - 收视率最高的前 5 部电影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32713450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com