某小区停车数据分析
核心内容:处理大量 excel 表格数据,数据可视化
一.问题描述
现有 2018 年 9 月的某小区停车数据,如下图。
01-30 共 30 天的 excel 表格。后来处理时发现 23 和 24 重复了,于是将 24.xls 删去。每一个
表格内记录了当天出场的车的停车信息,如下图
数据内包含业主的车与临时车。临时车是点对点的共享平台的停车用户。点对点指业主
写明可共享车位的时间段,临停用户可在平台上找到适合自己停车需求的车位定点停放。该
共享方案的问题是业主参与度不高,白天仍有大量剩余车位,而白天小区周围有停车需求。
现在希望建立一个新的共享停车的方案,不需要业主指明可共享的时间段。根据停车的
历史数据进行分析,自动得出适合开放共享停车的时间段和共享的最大停车位数,保证业主
有位置停。
二.详细内容及步骤
1. 提取数据中有用的信息 get_data.py 文件
使用 python 中的 pandas 库的 dataframe 类来存储数据。
首先读取一个 excel 表中的数据,成功后再用类似的方法使用循环读取所有文件。
一些关键步骤展示整行代码,其余仅写出函数名,略去参数
import pandas as pd
1)自动读取 excel 表,存在一个 dataframe 中:
df=pd.read_excel('./data/'+fname,skiprows=3)#跳过前三行,从第四行开始读取 原本不知道有
跳过行的功能,还使用了 xlrd 包先读取再存到 dataframe 中
2)数据清理,调整
清除列 df.drop(df.columns[delid], axis=1, inplace=True)
清楚空值所在一整行 df.dropna(inplace=True)
重命名列名称 df.rename(columns={'车牌号码':'num',...},inplace=True)
重命名一列中的值 df['type']=df['type'].replace(['纯车牌月卡 A','临时车纯车牌识别(小车)'],['
业主','临时'])
3)增加数据列
字 符 串 的 时 间 类 型 转 化 为 [0,24) 连 续 的 数 , 小 时 为 单 位
df['intimedig']=list(map(time2dig,df['intime']))#数字化的连续时间 float64 类 time2dig 为自编
评论0