【发布时间】:2018-09-11 03:47:07
【问题描述】:
我有一个如下所示的数据框(此处显示了三列):
Week/Year feature
40/2017 2 147
3 32
4 21
5 21
7 8
8 1
9 10
10 10
11 8
12 23
14 3
15 10
16 3
17 4
18 15
19 10
21 19
22 12
23 3
24 8
26 3
27 47
28 8
29 6
30 11
31 11
34 7
35 8
36 9
38 21
...
51/2017 40 7
43 2
44 1
45 3
46 1
47 1
51 2
58 1
62 3
63 2
64 1
66 3
67 1
71 3
72 3
76 4
77 5
79 5
81 1
82 4
85 3
86 1
87 1
88 2
89 1
90 1
93 4
95 1
96 3
100 2
第三列显示了一周内每个功能的频率。我通过这段代码计算了第三列:
df['Week/Year'] = df['date'].apply(lambda x: "%d/%d" % (x.week, x.year))
我想绘制一个直方图或条形图,在一年中的每一周,用不同的颜色绘制每个特征的频率。我试过了,但没有用:
df.plot(x = 'Week/Year', y = df.groupby(['Week/Year', 'feature']).size(), kind ='bar')
谢谢。
【问题讨论】:
-
df.unstack().plot()
-
df.unstack.plot() 给我 TypeError: Empty 'DataFrame': no numeric data to plot
标签: python pandas dataframe matplotlib