需要源码和数据集请点赞关注收藏后评论区留言私信~~~
下面以自行车租赁统计数据为例,使用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)
创作不易 觉得有帮助请点赞关注收藏~~~