Python数据分析:数据可视化实战教程( 二 )


Python数据分析:数据可视化实战教程文章插图

  • 第三步:设置参数
figure,axes = plt.subplots(1,2,sharey=True)#设置一个1*2的画布 , 且共享y轴workingday_df.plot(figsize=(15,5),title='The average number of rentals initiated per hour in the working day',ax=axes[0])nworkingday_df.plot(figsize=(15,5),title='The average number of rentals initiated per hour in the nworking day',ax=axes[1])可以看出:
  • 在工作日 , 会员出行对应两个很明显的早晚高峰期 , 并且在中午会有一个小的高峰 , 可能对应中午外出就餐需求;
  • 工作日非会员用户出行高峰大概在下午三点;
  • 工作日会员出行次数远多于非会员用户;
  • 在周末 , 总体出行趋势一致 , 大部分用车发生在11-5点这段时间 , 早上五点为用车之最 。
对温度进行分析
  • 第一步
提出问题:租赁总量对应湿度的变化趋势
适合图形:因为湿度属于连续性数值变量 , 我们可以选择折线图反应变化趋势
  • 第二步
转换数据:我们需要一个二维数据框 , 按照温度变化排序 , 取对应的三个租赁数的平均值
应用函数:直接应用plt的plot函数即可完成折线图
  • 第三步
参数设置:只需要设置折线图的标题 , 其他参数默认
temp_df = Bikedata.groupby(['temp'],as_index='True').agg({'count':'mean','registered':'mean','casual':'mean'})temp_df.plot(title = 'The average number of rentals initiated per hour changes with the temperature')
Python数据分析:数据可视化实战教程文章插图
  • 随着温度的升高 , 租赁数量呈上升趋势;
  • 在温度达到35度时 , 因天气炎热 , 总体数量开始下降;
  • 在温度在4度时 , 租赁数达到最低点;
湿度对租赁数量的影响
  • 第一步
提出问题:租赁总量对应湿度的变化趋势
适合图形:因为湿度属于连续性数值变量 , 我们可以选择折线图反应变化趋势
  • 第二步
转换数据:我们需要一个二维数据框 , 按照温度变化排序 , 取对应的三个租赁数的平均值
应用函数:直接应用plt的plot函数即可完成折线图
  • 第三步
参数设置:只需要设置折线图的标题 , 其他参数默认
humidity_df = Bikedata.groupby(['humidity'],as_index=True).agg({'count':'mean','registered':'mean','casual':'mean'})humidity_df.plot(title='Average number of rentals initiated per hour in different humidity')
Python数据分析:数据可视化实战教程文章插图
可以观察到在湿度20左右租赁数量迅速达到高峰值 , 此后缓慢递减 。
年份 , 月份和季节作图方法类似 , 都采用折线图绘制 , 这里省略 。
查看不同天气对出行情况的影响
  • 第一步
提出问题:租赁总量对应湿度的变化趋势
适合图形:因为天气情况属于数值型分类变量 , 我们可以选择柱形图观察数量分布
  • 第二步
转换数据:我们需要一个二维数据框 , 按照天气情况对租赁数量取平均值
应用函数:应用plt的plot.bar函数绘制组合柱形图
  • 第三步
参数设置:只需要设置折线图的标题 , 其他参数默认
weather_df = Bikedata.groupby(['weather'],as_index=True).agg({'registered':'mean','casual':'mean'})weather_df.plot.bar(stacked=True,title='Average number of rentals initiated per hour in different weather')
Python数据分析:数据可视化实战教程文章插图
观察到天气等级为4时 , 平均出行人数比天气等级为2时还要高 , 这不符合常理
我们查看一下天气等级为4的详细情况
count_weather = Bikedata.groupby('weather')count_weather[['casual','registered','count']].count()
Python数据分析:数据可视化实战教程文章插图
天气状况为4级的只有一天 , 我们把数据打印出来查看一下
Bikedata[Bikedata['weather']==4]
Python数据分析:数据可视化实战教程文章插图
时间为工作日的下午六点钟 , 属于晚高峰异常数据 , 不具有代表性 。
会员用户和临时用户在整体用户中占比
  • 第一步
提出问题:查看会员用户和临时用户在整体用户中的比例