查找最大值并分组到数据集?

时间:2020-04-13 00:08:20

标签: pandas numpy lambda group-by max

pandas dataframe

这是我上面正在使用的熊猫数据框。.形状是(1049,3)
我是一个初学者,在尝试实现回答目标时遇到了一些困难 “哪种类型每年都流行”

1)release_year = 1960年至2015年,其中包括多个相同年份(整数)
2)类型= 20种类型(对象)
3)没有缺失的值

我已经尝试过了,但是我收到一条错误消息,说我不能使用irow

    genre.groupby('release_year').apply(lambda genre:genre.irow(genre.value.argmax()))

最终我想要的东西看起来像这样...(x,y)

                  popular_genre      
    release_year    
      1960          Drama
      1961          Comedy
      1962          Action
       .
       .
      2015         Science Fiction

因此,我可以使用直方图或直线对其进行绘制。如果用太多的x值绘制图形太难看了,我可能不得不将年份除以几十年。

我最初的计划是首先找到每年次数最多的类型,然后将其放入数据框或制作一个新的类型

还是我想得太多,有没有办法通过绘图来绕过它?

非常感谢大家:)

1 个答案:

答案 0 :(得分:0)

您可以使用groupby两次,以获得数量最多的流派。

### SAVING
# rgb_default = make_lupton_rgb(r, g, b, minimum=1000, stretch=900, Q=100, filename="provafinale.png")
rgb_default = make_lupton_rgb(r, g, b, filename="provafinale.png")
plt.imshow(rgb_default, origin='lower')
plt.show()

如果popular_genre每年都是唯一的,您也可以这样做:

(
    df.groupby(by=['release_year'])
    .apply(lambda x: x.groupby('popular_genre')['count']
                      .sum().nlargest(1))
)
相关问题