如何使用pandas对数据透视表进行排序

时间:2018-02-19 04:36:26

标签: python pandas pivot-table sklearn-pandas

本周我刚刚开始使用大熊猫。

这是一张包含电影名称,用户ID和用户评分的表格 去看电影。只有用户查看的电影才被评为

我有一个像这样的数据透视表,只有一行:

In[1]: ratings_matrix = combine_movies_ratings.pivot_table(index='userID', columns='title', values='rating').fillna(0)

Out[1]:
 title      MovieA MovieB MovieC .... MovieN
 userID
 1           5      0        3   ....      0

我正在使用ratings_matrix.loc[1].values访问值,这会返回一个包含所有评分的数组[5, 0, ...., 0]

我使用ratings_matrix.loc[1].columns

访问的电影名称

我希望用户能够评估前五部电影的结果,因为数据集中的每部电影都不会被评级。

['MovieA', 'MovieC', 'MovieB' ... ]

我的尝试是: - 对数据透视表进行排序以显示具有评级值的第一部电影,因为默认情况下它们按字母顺序排序,在某些情况下,第一部电影的评级为0,用户未对其进行评级。

欢迎提出建议

1 个答案:

答案 0 :(得分:0)

也许你可以试试

(combine_movies_ratings.sort_values('rating').groupby('userID').head(5)).title