无法从熊猫分组数据中获取直方图

问题描述 投票:0回答:1

我有这个DF。

f = { 'Router_name':['count'] }
a = a.groupby(['Week_end']).agg(f)

其中产生以下数据..

         Router_name
               count
Week_end            
29                 3
30                10
31                 6
32                 4
33                 9
34                 2
35                 5
36                10
37                 8
38                 6
40                10
41                 2
42                 8
43                 1
44                 3
45                 2
46                 8
47                 6
49                12
50                 5
51                10
52                 5
53                11

我正在尝试从Router_name的先前聚合数据中获取直方图/频率。因此,例如,预期输出应该是这些频率:

enter image description here

我读过here,做b = a.hist(by=a['Router_name'])就可以了。但是,在尝试时,我收到以下错误:

Traceback (most recent call last):
  File "get_report_v1.5_devel.py", line 465, in <module>
    b = a.hist(by=a['Router_name'])
    raise ValueError("Grouper for '%s' not 1-dimensional" % t)
ValueError: Grouper for '<class 'pandas.core.frame.DataFrame'>' not 1-dimensional

我也试过这个:a.Router_name.hist()。但我得到了相同的DataFrame。

如何从分组数据中获取给定列的频率?

python pandas histogram pandas-groupby frequency-distribution
1个回答
1
投票

看起来你似乎是通过使用agg创建多索引

a.hist(by=a[('Router_name','count')])

a[('Router_name','count')].value_counts()
Out[1678]: 
10    4
8     3
6     3
5     3
2     3
3     2
12    1
11    1
9     1
4     1
1     1
Name: (Router_name, sum), dtype: int64
© www.soinside.com 2019 - 2024. All rights reserved.