Pandas 重新排列和绘制数据
我有一个如下所示的数据帧:Pandas 重新排列和绘制数据,pandas,matplotlib,python-3.5,Pandas,Matplotlib,Python 3.5,我有一个如下所示的数据帧: days movements count 0 0 0 2777 1 0 1 51 2 0 2 2 3 1 0 6279 4 1 1 200 5 1 2 7 6 1 3 3 7 2 0 5609 8 2 1 110 9 2 2
days movements count
0 0 0 2777
1 0 1 51
2 0 2 2
3 1 0 6279
4 1 1 200
5 1 2 7
6 1 3 3
7 2 0 5609
8 2 1 110
9 2 2 32
10 2 3 4
11 3 0 4109
12 3 1 118
13 3 2 101
14 3 3 8
15 3 4 3
16 3 6 1
17 4 0 3034
18 4 1 129
19 4 2 109
20 4 3 6
21 4 4 2
22 4 5 2
23 5 0 2288
24 5 1 131
25 5 2 131
26 5 3 9
27 5 4 2
28 5 5 1
29 6 0 1918
30 6 1 139
31 6 2 109
32 6 3 13
33 6 4 1
34 6 5 1
35 7 0 1442
36 7 1 109
37 7 2 153
38 7 3 13
39 7 4 10
40 7 5 1
41 8 0 1085
42 8 1 76
43 8 2 111
44 8 3 13
45 8 4 7
46 8 7 1
47 9 0 845
48 9 1 81
49 9 2 86
50 9 3 8
51 9 4 8
52 10 0 646
53 10 1 70
54 10 2 83
55 10 3 1
56 10 4 2
57 10 5 1
58 10 6 1
这表明,例如在第0天,我有2777个条目有0个移动,51个条目有1个移动,2个条目有2个移动。我想将其绘制为每天的条形图,并显示所有运动的条目计数。为了做到这一点,我想我应该将数据转换成下面的格式,然后绘制一个条形图
days 0 1 2 3 4 5 6 7
0 2777 51 2
1 6279 200 7 3
2 5609 110 32 4
3 4109 118 101 8 3
4 3034 129 109 6 2 2
5 2288 131 131 9 2 1
6 1918 139 109 13 1 1
7 1442 109 153 13 10 1
8 1085 76 111 13 7 1
9 845 81 86 8 8
10 646 70 83 1 2 1 1
我不知道我该如何做到这一点?我有数千行数据,所以手工操作是没有意义的。有人能告诉我如何重新排列数据吗?或者有没有一种直接从实际数据帧使用matplotlib快速绘制条形图的方法会更好。谢谢你的帮助 这是支点;-)谢谢我刚刚使用了pandas.pivot_table函数,效果非常好。谢谢。你好,温,我使用以下代码生成pivot table=pd.pivot_table(df,values='count',index='days',columns='movements',aggfunc=np.sum)。它确实正确地生成了透视表,我可以绘制该表。但是你能告诉我如何从这个表中选择一个特定的列进行绘图吗?在上面的示例中,透视表中有8列,从0到7,如何选择列0以使用plt.plot(x=table.index,y=??)进行绘图?