Pandas按照独热编码列分组

4

我有一个 Pandas 数据帧,格式如下所示(基本上是对列进行独热编码):

 MovieID Action  Adventure  Animation  Childrens  Comedy  Crime  Documentary  rating
  1        0          0          1          1       1      0            0     4   
  2        1          0          0          0       1      0            0     5   
  3        0          0          0          0       0      1            0     2   
  4        0          0          0          0       0      0            0     4   
  5        0          0          0          1       1      0            0     7  

我想要做的是按不同电影类型(动作、冒险、动画等)分组,并计算每个类型中有多少次评分。

期望输出:

Genre       Number of times rated
Action             1
Adventure          0
Animation          1
Childrens          2
Comedy             3
......

动作类型被评价了1次,冒险类型没有评价。

到目前为止的代码:

number_of_ratings = data.groupby(['Action']).agg({"rating": "count"})

有没有一种方法可以同时选择所有类型列,因为键入所有类型似乎不是理想的选择(它们更多)?

它是否处理了某些电影属于多个类型的事实?

提前致谢!

1个回答

1
听起来我们可以尝试。
output = df.drop(['MovieID', 'rating'], axis=1).sum()
Action         1
Adventure      0
Animation      1
Childrens      2
Comedy         3
Crime          1
Documentary    0
dtype: int64

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接