2016-06-09 99 views
-2

我想看看在一个星期我的用户效应“一天的时间”超过一周的基础得到一天的如何统一时间的快速可视取绘制多行按组柱状图趋势是。因此,作为第一开始我用这个:如何从大熊猫日期帧

df[df['week'] < 10][['realLocalTime', 'week']].hist(by = 'week', bins = 24, figsize = (15, 15)) 

出示下列:

image

这是一个很好的启动容易,但我真的想就是代表直方图作为一个线图,并覆盖所有的线,一个用于在相同的情节的每个week。有没有办法做到这一点?

我有ggplot,在这里,我只想通过增加颜色,并通过因子水平依赖做到这一点更多的经验。是否有一个类似这样的易于使用的方式和pandasmatplotlib做到这一点?

这里是我的数据是这样的:

realLocalTime week 
1 12 10 
2 12 10 
3 12 10 
4 12 10 
5 13 5 
6 17 5 
7 17 5 
8 6 6 
9 17 5 
10 20 6 
11 18 5 
12 18 5 
13 19 6 
14 21 6 
15 21 6 
16 14 6 
17 6 6 
18 0 6 
19 21 5 
20 17 6 
21 23 6 
22 22 6 
23 22 6 
24 17 6 
25 22 5 
26 13 6 
27 23 6 
28 22 5 
29 21 6 
30 17 6 
...  ...  ... 
70 14 5 
71 9 5 
72 19 6 
73 19 6 
74 21 6 
75 20 5 
76 20 5 
77 21 5 
78 15 6 
79 22 6 
80 23 6 
81 15 6 
82 12 6 
83 7 6 
84 9 6 
85 8 6 
86 22 6 
87 22 6 
88 22 6 
89 8 5 
90 8 5 
91 8 5 
92 9 5 
93 7 5 
94 22 5 
95 8 6 
96 10 6 
97 0 6 
98 22 5 
99 14 6 

回答

0

也许你可以简单地使用crosstab按周来计算元素的数量和绘制。

# Test data 
d = {'realLocalTime': ['12','14','14','12','13','17','14', '17'], 
'week': ['10','10','10','10','5','5','6', '6']} 
df = DataFrame(d) 

ax = pd.crosstab(df['realLocalTime'], df['week']).plot() 

enter image description here

0

使用GROUPBY和value_counts

df.groupby('week').realLocalTime.value_counts().unstack(0).fillna(0).plot() 

enter image description here