所以我有一个像这样的Dataframe
user_id item category rank
-------------------------------
user_1 item1 categoryA 1
user_1 item2 categoryA 2
user_1 item3 categoryA 3
user_1 item4 categoryD 4
user_1 item5 categoryD 5
user_2 item6 categoryB 1
user_2 item7 categoryB 2
user_2 item8 categoryB 3
user_2 item9 categoryA 4
user_2 item10 categoryE 5
user_2 item11 categoryE 6
user_3 item6 categoryB 1
user_3 item7 categoryB 2
user_3 item8 categoryB 3
user_3 item9 categoryA 4
user_3 item10 categoryE 5
user_3 item11 categoryE 6
其中我为用户提供了项目建议。我希望每个用户有6个推荐,我想统计一下有多少用户有6个推荐(在这个例子中是user2和user3),还有多少用户没有6个推荐(user1)。
我也可以放弃那些谁没有至少6(user1)。
哪一种方法是最好的?rankoverwindow秩和?检查这个值是不是6?
2条答案
按热度按时间hm2xizp91#
你可以做一个左半连接
user_id
至少有rank >=6
:或者
max_rank >= 6
窗口上方:ibrsph3r2#
您可以使用每个用户的计数进行筛选: