利用Pandas探究自行车租赁随时间及天气变化的分布情况并可视化(附源码 超详细)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~

下面以自行车租赁统计数据为例,使用Pandas中的时间序列分析方法,探究自行车租赁数据随时间以及天气变化的分布情况,数据来自Kaggle网站

1:导入模块

import numpy as np
import pandas as pd
import datetime
import matplotlib.pyplot as plt
import seaborn as sns
plt.figure(figsize = (10,8))
%matplotlib inline

2:获取数据 导入待处理数据bike.csv  并显示前五行

bike = pd.read_csv('data//bike.csv')
bike.head()

 3:分析数据

首先查看有无缺失值

bike.isnull().sum()

 然后查看待处理数据的数据类型

bike.info()

 然后将字段datetime的类型转换为日期时间

bike.datetime = pd.to_datetime(bike.datetime)
bike.dtypes

 先从数值型数据入手,可以看出租赁额(count)数值差异大,所以希望观察一下它们的密度分布

sns.distplot(bike["count"])
# plt.plot(s.index,s.values)#作图

从运行结果发现 有长尾现象

显示count字段的描述信息

 

bike["count"].describe()

 将count列中小于第一四分位数的数据删除 并绘制对应的密度图

def Count(x):
    if x <42:
        return np.nan
    else:
        return x
bike1 = bike
bike1["count"] = bike1["count"].apply(Count)
bike1 = bike1.dropna(axis=0, how='any')
sns.distplot(bike1["count"])

 对数据进行处理后长尾现象有所改善

接下来绘制按年份统计自行车租赁数均值的直方图

y_bike.plot(kind='bar',rot = 0)

 重采样 按月进行分析汇总

mm_bike = bike.resample('M',kind = "period").mean()
mm_bike.head()

 然后按月统计数据的绘图

mm_bike.plot()
plt.legend(loc = "best",fontsize = 8)

 绘图观察哪个月份自行车的租赁数目最大

m_bike.plot()
plt.grid()# 9月份达到最大值

 从图中可以看出 9月份自行车租赁数最多

分析每天不同时间自行车租赁数量的变化

h_bike.plot("bar",rot = 0)

 从图中可以发现 每天八点和十七点自行车租赁数量最多 对应这个时候上下班和上下学的人数较多

接下来分析季节对租赁数额的影响

season_bike = bike.groupby(bike.season).mean()['count']
season_bike 
season_bike.plot(kind = "bar",rot = 0)

 接下来分析温度对租赁数额的影响

temp_bike = bike.groupby([bike.temp]).mean()['count']
temp_bike.sample(10)
temp_bike.plot()

 然后分析风速对租赁数额的影响

wind_bike_sort = wind_bike.sort_values(ascending=False)
wind_bike_sort.head(20).plot(kind="bar",rot = 60)

 最后分析天气对租赁数额的影响

weather_bike = bike.groupby(bike.weather).mean()['count']
weather_bike.plot(kind='bar',rot = 0)

 创作不易 觉得有帮助请点赞关注收藏~~~

  • 20
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值