gpt4 book ai didi

python - 尝试创建每月前 10 个问题的堆积条形图

转载 作者:太空宇宙 更新时间:2023-11-03 18:50:38 25 4
gpt4 key购买 nike

我有一个如下所示的堆叠系列(日期仅表示为一个月整数):

date  issues        size                        1     issue1        1      issue2        2      issue3        1      issue4        6      issue5        1...8     issue1        1      issue2        2      issue3        1      issue4        6      issue5        1

I can create the stacked bar chart by just graphing with

series.unstack().fillna(0)

但我想将问题数量限制为每个日期按大小排列的前 10 个问题,因为目前有超过 100 个问题。这是我无法弄清楚的部分。如有任何帮助,我们将不胜感激。

编辑:

为了更清楚起见,这是我的原始 DataFrame 的样子。

          date  issues0            1  issue1 1            1  issue2 2            1  issue3 3            1  issue14            1  issue3 5            2  issue1 6            2  issue2 7            2  issue3...

最佳答案

您可以通过 applying to each group 仅返回最大尺寸的对象。一个sort然后head .
这里我们只看前两个:

In [11]: top2_by_date = df.groupby('date').apply(lambda x:  x.sort('size', ascending=False).head(2))

In [12]: top2_by_date
Out[12]:
date issues size
date
1 3 1 issue4 6
1 1 issue2 2
8 8 8 issue4 6
6 8 issue2 2

令人烦恼的是,索引中有日期 (as_index=False doesn't stop this , for now ).

In [13]: top2_by_date.index =  top2_by_date.index.droplevel(0)

In [14]: top2_by_date
Out[14]:
date issues size
3 1 issue4 6
1 1 issue2 2
8 8 issue4 6
6 8 issue2 2

使用原始数据(没有尺寸列,您可以一次性完成此操作)和 value_counts :

In [21]: df.groupby('date').apply(lambda x: x['issues'].value_counts()[:2])
Out[21]:
date
1 issue3 2
issue1 2
2 issue2 1
issue3 1
dtype: int64

注意:如果有平局,这将任意选择。

关于python - 尝试创建每月前 10 个问题的堆积条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18431821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com