无法从 pandas 分组数据中获取直方图
Can't obtain histogram from pandas grouped data
我有这个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
的先前聚合数据中获取 histogram/frequencies。因此,例如,预期输出应该是这些频率:
我读过 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。
如何从分组数据中获取给定列的频率?
似乎您使用 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
我有这个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
的先前聚合数据中获取 histogram/frequencies。因此,例如,预期输出应该是这些频率:
我读过 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。
如何从分组数据中获取给定列的频率?
似乎您使用 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