首页 > 解决方案 > 有条件的数据表的计数元素

问题描述

我有以下熊猫表,我试图计算每部电影有多少评分优于 3。

这就是我所拥有的:

      ratings
      user1 user2 user3
film1  3      5     3
film2  3      4     4
film3  1      2     3

这就是我想要的:

      ratings
      user1 user2 user3 top_score
film1  3      5     3      1
film2  3      4     4      2
film3  1      2     3      0

我能够计算评分的数量,但我似乎无法添加条件......

谢谢

标签: pythonpandas

解决方案


首先将您的数据转换为 numpy 数组,然后使用 numpy 数组操作。

例如,您可以选择大于一个值的元素:

array = ...  # The 2-D vector of films and ratings
high_ratings = array > 4  # Returns a boolean array

然后在 1 轴上求和(沿用户,按电影):

top_scores = high_ratings.sum(axis=1)  # Returns a 1-D vector here

推荐阅读