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

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

数据集介绍

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

字段

含义

字段

含义

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)

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


目录
相关文章
|
11月前
|
数据采集 人工智能 算法
“脏数据不清,分析徒劳”——聊聊数据分析里最容易被忽视的苦差事
“脏数据不清,分析徒劳”——聊聊数据分析里最容易被忽视的苦差事
372 34
|
10月前
|
数据采集 SQL 监控
“你分析个锤子啊,米都没洗净”——数据采集和数据分析的底层逻辑真相
“你分析个锤子啊,米都没洗净”——数据采集和数据分析的底层逻辑真相
213 0
|
机器学习/深度学习 数据采集 DataWorks
数据分析经典案例重现:使用DataWorks Notebook 实现Kaggle竞赛之房价预测,成为数据分析大神!
Python是目前当之无愧的数据分析第一语言,大量的数据科学家使用Python来完成各种各样的数据科学任务。本文以Kaggle竞赛中的房价预测为例,结合DataWorks Notebook,完成数据加载、数据探索、数据可视化、数据清洗、特征分析、特征处理、机器学习、回归预测等步骤,主要Python工具是Pandas和SKLearn。本文中仅仅使用了线性回归这一最基本的机器学习模型,读者可以自行尝试其他更加复杂模型,比如随机森林、支持向量机、XGBoost等。
|
数据挖掘
ChatGPT在常用的数据分析方法中的应用(分组分析)
ChatGPT在常用的数据分析方法中的应用(分组分析)
416 2
|
机器学习/深度学习 数据采集 数据可视化
如何理解数据分析及数据的预处理,分析建模,可视化
如何理解数据分析及数据的预处理,分析建模,可视化
530 0
|
数据挖掘 UED
ChatGPT数据分析——探索性分析
ChatGPT数据分析——探索性分析
290 1
|
数据可视化 数据挖掘 数据处理
ChatGPT数据分析应用——热力图分析
ChatGPT数据分析应用——热力图分析
960 1
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
1092 4
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
361 2
|
机器学习/深度学习 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛A题的Python代码分析,涉及智能手机用户监测数据分析中的聚类分析和APP使用情况的分类与回归问题。
659 0
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析