数据分析案例-停车场数据可视化分析

简介: 数据分析案例-停车场数据可视化分析

数据集介绍

数据为某停车场信息表,具体字段信息如下表:

字段

含义

字段

含义

cn

车牌号

price

停车所交费用

timein

车辆进场时间

state

是否已经离场

timeout

车辆出场时间

rps

当前空余车位数量

部分数据展示

数据分析

首先,导入本次项目用到的第三方包以及数据

import pandas as pd
import matplotlib.pylab as plt
import numpy as np
from pyecharts.charts import Pie
from pyecharts import options as  opts 
from pyecharts.globals import ThemeType
import warnings
warnings.filterwarnings('ignore')
plt.rcParams['font.sans-serif'] = ['SimHei'] #解决中文显示
plt.rcParams['axes.unicode_minus'] = False   #解决符号无法显示
data = pd.read_excel('停车场信息表.xlsx')
data.head()

 1.停车时间数据分布图,统计停车时间为1小时,2小时,3~5小时,6~10小时,11~12小时以及停车12小时以上的停车数量,绘制饼图。

这里我们需要得到每一条车辆出和入时间的差值并且结果要转化为小时数,然后根据小时数进行分类标签 (这里如果要求的是天数,只需要把h改为D即可)

data['timein'] = data['timein'].apply(pd.Timestamp)
data['timeout'] = data['timeout'].apply(pd.Timestamp)
data['hour'] = (data['timeout'] - data['timein']).values/np.timedelta64(1,'h')
def parse_time(x):
    if x < 1:
        return '1小时以内'
    elif 1 <= x <= 2:
        return '1~2小时'
    elif 2 < x <3:
        return '2~3小时'
    elif 3 <= x <6:
        return '3~5小时'
    elif 6 <= x <11:
        return '6~10小时'
    elif 11 <= x <12:
        return '11~12小时'
    else:
        return '12小时以上'
data['hour_grade'] = data['hour'].agg(parse_time)
data['hour_grade'].value_counts().plot(kind='pie',figsize=(10,8),title='各小时段的数量占比',autopct='%.2f')

 2.停车高峰时间所占比例:把一天按小时划分为8个区间,绘制饼图。

这里我们需要根据车辆入的时间提取出小时数并做统计

data['timein'] = data['timein'].astype(str)
data['hour_time'] = data['timein'].apply(lambda x:int(x.split(' ')[1].split(':')[0]))
df1 = pd.qcut(data['hour_time'],q=8)
df1.value_counts().plot(kind='pie',figsize=(10,8),title='各小时段的数量占比',autopct='%.2f')


3.每周繁忙统计:按星期一~星期日统计停车数量,绘制纳丁格尔玫瑰图。 

这里我们需要用到日期类型的内置函数weekday得到星期数(1-6,代表星期一~六,0代表星期日) ,最后将数字转化为特定的字符串

# 星期一~星期日停车数量比例
data['timein'] = data['timein'].apply(pd.Timestamp)
data['week'] = data['timein'].apply(lambda x:x.weekday())
data.week.replace(to_replace={1:'星期一',2:'星期二',3:'星期三',4:'星期四',5:'星期五',6:'星期六',0:'星期日'},inplace=True)
df2 = data['week'].value_counts()
result_list = [(i,j) for i,j in zip(df2.index.to_list(),df2.values.tolist())]
a = Pie(init_opts=opts.InitOpts(theme = ThemeType.DARK))
a.add(series_name='星期',
        data_pair=result_list,
        rosetype='radius',
        radius='70%',
        )
a.set_global_opts(title_opts=opts.TitleOpts(title="星期一~星期日停车数量比例",
                    pos_top=50))
a.set_series_opts(tooltip_opts=opts.TooltipOpts(trigger='item',formatter='{a} <br/>{b}:{c} ({d}%)'))
a.render_notebook()


 4.月收入分析:统计每月收入情况,绘制条形图。

这里我们需要根据车辆入的时间提取出月份数值,最后分组聚合即可

data['timein'] = data['timein'].astype(str)
data['month'] = data['timein'].apply(lambda x:int(x.split(' ')[0].split('-')[1]))
data.groupby('month').sum()['price'].plot(kind='barh',figsize=(10,8),title='每月收入条形图',fontsize=14)

 5.每日接待车辆统计:统计每天停车数量绘制折线图。

这里我们需要根据车辆入的时间提取出day值,最后分组统计即可


data['day'] = data['timein'].apply(lambda x:int(x.split(' ')[0].split('-')[2]))
data['day'].value_counts().sort_index().plot(figsize=(10,8),title='每天停车数量折线图',fontsize=14)

6.车位使用率的统计:统计每天的车位平均使用率,绘制折线图。 
data.groupby('day').mean()['rps'].plot(figsize=(10,8),title='每天车位平均使用率折线图',fontsize=14)

以上就是本次停车场数据案例分析的全部,希望对学习数据分析的你有所帮助


目录
相关文章
|
3月前
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
58 1
|
2月前
|
数据挖掘 UED
ChatGPT数据分析——探索性分析
ChatGPT数据分析——探索性分析
53 1
|
2月前
|
数据可视化 数据挖掘 数据处理
ChatGPT数据分析应用——热力图分析
ChatGPT数据分析应用——热力图分析
114 1
|
2月前
|
数据挖掘
ChatGPT在常用的数据分析方法中的应用(分组分析)
ChatGPT在常用的数据分析方法中的应用(分组分析)
72 1
|
2月前
|
数据挖掘 数据处理
ChatGPT在常用的数据分析方法中的应用(交叉分析)
ChatGPT在常用的数据分析方法中的应用(交叉分析)
51 1
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
如何理解数据分析及数据的预处理,分析建模,可视化
如何理解数据分析及数据的预处理,分析建模,可视化
63 0
|
2月前
|
数据挖掘
ChatGPT在常用的数据分析方法中的应用(对比分析)
ChatGPT在常用的数据分析方法中的应用(对比分析)
60 0
|
23天前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
70 4
数据分析的 10 个最佳 Python 库
|
4月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
91 2
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
215 4