ython数据分析单车租赁数据分析租赁情况.docx
《ython数据分析单车租赁数据分析租赁情况.docx》由会员分享,可在线阅读,更多相关《ython数据分析单车租赁数据分析租赁情况.docx(14页珍藏版)》请在冰点文库上搜索。
ython数据分析单车租赁数据分析租赁情况
ython数据分析,单车租赁数据分析,租赁情况
本节选取自行车的租赁数据;利用numpyxpandas,matplotlib三个库#数据清洗后,做数据分析,研究时间段与自行车租赁的关系。
数据来源
本节以自行车的租赁数据为例,数据来源于网络,利用时间序列分析的方法,通过可视化技术,分析自行车租赁随时间及天气变化的分布情况,其中datetime,season、holiday,workingday、weather、temp、atemp、humidity,windspeed,casual.registered,count字段分别代表租赁时间、季节、是否为假期、是否为工作日、天气数字越大,天气越差、tempatemp气温、湿度、风速、普通用户、注册用户、租赁自行车数量。
importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspit
%matplotlibinline
bike=pd・read_csv(open(r1D:
\python数据分析\^#^\bike・csv1))
bike・head()
datetime
season
holiday
workingdoy
weather
temp
atemp
humidity
windspeed
casual
registered
count
0
2011-01-0100:
0000
1
0
0
1
9.84
14.395
81
00
3
13
16
1
2011-01-01010000
1
0
0
1
902
13.635
80
00
8
32
40
2
2011-01-0102:
00:
00
1
0
0
1
9.02
13.635
80
00
5
27
32
3
2011-01-01030000
1
0
0
1
984
14395
75
00
3
10
13
4
2011-01-0104:
0000
1
0
0
1
9.84
14.395
75
00
0
1
1
问题探索
研究时间段与自行车租赁的关系情况。
bike・isnull()・sum()
datetime0season0holiday0vorkingday0weather0temp0atemp0humidity0windspeed0casual0registered0count0
dtype:
int64
查看缺失值,无缺失值。
bike・dtypes
datetime
object
season
int64
holiday
int64
workingday
int64
weather
int64
temp
float64
atemp
float64
humidity
int64
windspeed
float64
casual
int64
registered
int64
count
int64
dtype:
object
查看数据类型,datetime字段不是时间数据类型。
bike['datetime']=pd・to_datetime(bike[*daterime1])
bike・dtypes
将to_datetime函数转换为datetime类数据。
bike=bike・set_index("datetime,)datetine殳设为DwtaFrameJ
索引,成为时间序列竅据
bike・head()
datetime
season
holiday
workingday
weather
temp
atemp
humidity
windspeed
casual
registered
count
2011.01X)100:
00:
00
1
0
0
1
984
14395
81
0.0
3
13
16
201101-0101:
00:
00
1
0
0
1
902
13635
80
0.0
8
32
40
2011010102:
00:
00
1
0
0
1
902
13635
80
0.0
5
27
32
2011-01-0103:
00:
00
1
0
0
1
984
14395
75
0.0
3
10
13
2011-014)104:
00:
00
1
0
0
1
984
14395
75
0.0
0
1
1
bike・index
bike・tail()
datetime
season
holiday
workingday
weather
temp
atemp
humidity
windspeed
casual
registered
count
2012-12-1919:
00:
00
4
0
1
1
1558
19695
50
26.0027
7
329
336
2012-12-1920:
00:
00
4
0
1
1
1476
仃425
57
150013
10
231
241
2012-12-1921:
00:
00
4
0
1
1
1394
15910
61
15.0013
4
164
168
2012-12-1922:
00:
00
4
0
1
1
13.94
17.425
61
6.0032
12
117
129
2012-12-1923:
00:
00
4
0
1
1
13.12
16665
66
8.9981
4
84
88
数据探索
y_bike=bike・groupby(lambdax:
x.year)・mean(){;
y_bike['count*]
2011144.223349
Name:
count,dtype:
float64
y_bike['count1].plot(kind=fbar1)二:
很1状1?
1
rj
8
2012年的租赁数据多于2011年数据。
m^bike=bike・resample(,kind=1period')・mean()«型为时期类型
*重采样到月份,类
m_bike・head()
datetime
season
holiday
workingday
woaihei
temp
atomp
humidity
windspeed
casual
roglstered
count
20114)1
10
0055684
0612629
1440835
8.633782
10767981
£6308S85
13749830
4.668933
49986079
6464S012
2011-02
10
0.000000
0733184
1378924
11.331076
13999922
53580717
15509298
8.466368
65174883
73641256
201103
1.0
O.OOOCOO
0.735426
1.466368
14.063184
16895594
55.923767
16.033866
17.735426
69.114350
86.849776
2011-04
20
0052747
0630769
1619780
17.776879
21239835
66285714
15844234
26.876923
84149451
111.026374
2011-05
20
0000000
0736842
1528509
21.528596
25455143
71421053
12355358
34791667
140017544
174.809211
figraxes=pit.subplots(2,1)#两彳亍一列
m_bike['20111][1count1].plot(ax=axes[0],sharex=True)#贡献X$fl|
mbike[12012■][*counr1].plot(ax=axes[1])
datetime
2011年和2012年的趋势大致相同,前几个月逐渐增加,到5、6月份到达峰值,再到9月份后逐渐减少。
bike['day1]=bike・index.day
bike[,hour,]=bike.index.hour#单独存储L4川JV敌』";
bike・head()
datetime
season
holiday
worklngday
weather
temp
atemp
humidity
windspeed
casual
registered
count
day
hour
2011-01-0100:
00:
00
1
0
0
1
984
14395
81
00
3
13
16
1
0
2011-01-0101:
00:
00
1
0
0
1
902
13635
80
00
8
32
40
1
1
2011-01-0102:
00:
00
1
0
0
1
902
13635
80
00
5
27
32
1
2
2011010103:
00:
00
1
0
0
1
984
14395
75
00
3
10
13
1
3
2011010104:
00:
00
1
0
0
1
984
14.395
75
0.0
0
1
1
1
4
d_bike=bike・gzoupbyJday1)['count1]・mean()冬刈dayL2]刃1纟荒门dbike
day
1
180.333913
2
183.910995
3
194.696335
4
195.705575
5
189.765217
6
189.860140
7
183.773519
8
179.041812
9
187.897391
10
195.183566
11
195.679577
12
190.675393
13
194.160279
14
195.829268
15
201.527875
16
191.353659
17
205.660870
18
192.605684
19
192.311847
Warne:
count,dtype:
float64
d_bike.plot()#‘I彳」?
毎T租赁数彷佗
day
h_bike=bike.groupby('hour')[*count']・mean()fhour:
•,〔:
/;*£]
hbike
0
55.1384Q2
1
33.859031
2
22-899554
3
11.757506
4
6.407240
5
19.767699
6
76.259341
7
213.116484
8
362.769231
9
221-780220
10
175.092308
11
210.674725
12
256.508772
13
257.787281
14
243.442982
15
254.298246
16
316.372807
17
468.765351
18
430.859649
19
315.278509
20
228.517544
21
173.370614
22
133.576754
23
89-508772
Name:
count,dtyj
i_bike
.plot()#
hour
float64
自行车每小时租赁数分布
hour
图中有明显的两个峰值,都是上下班时间段,并且晩上的峰值更高。
work_bike=bike.groupby(,wozkingday')[*count1]・mean()
work_bikeworkingday'〔1、刃丨:
玄「L
workingday
0188.506621
1193-011873
Name:
count,dtype:
float64
work_bike・plot(kind='bar1)
workingday
天气越差,自行车租赁数越少。
weather_bike=bike・gzoupby(,weather')[1count1]・mean()
weatherbike上weather'/I//j':
'丨‘无iI
weather
1205.236791
2178.955540
3118.846333
4164.000000
Name:
count,dtype:
float64
weathejbike・plot(kind=,bar')
weather
天气越差,自行车租赁数越少,但在极端天气情况下却略有上升。