该数据集反映了芝加哥市安装的每个摄像头记录的每日超速违规数量,作为自动超速执法计划的一部分。数据反映了 2014 年 7 月 1 日至 2016 年 12 月 31 日期间发生的违规行为。报告的违规行为由摄像头和雷达系统收集,并由两个独立的城市承包商进行审查。
其中,包含了7个基本的属性。分别为DATA 、CAMERA ID 、ADDRESS、 VIOLATIONS 、LATITUDE 、LONGITUDE 、 LOCATION。
数据属性 | 属性描述 |
DATA | 超速违规抓拍日期 |
CAMERA ID | 抓拍相机ID |
ADDRESS | 抓拍地址 |
VIOLATIONS |
超速违规抓拍次数 |
LATITUDE | 抓拍经度 |
LONGITUDE | 抓拍经度 |
LOCATION | 抓拍位置 |
1、超速违规抓拍次数与位置有关吗?
2、超速违规抓拍的经纬度有关系吗?
3、超速违规抓拍次数与日期有关系吗?
4、相机ID与超速违规抓拍次数有关系吗?
…………
数据预处理包括2点:
一是将数据导入处理工具。
二是查看数据。这里包含两个部分:
(1)是看元数据,包括字段解释、数据来源、代码表等等一切描述数据的信息;
(2)抽取一部分数据,使用人工查看方式,对数据本身有一个直观的了解,并且初步发现一些问题,为之后的处理做准备。
from autoviz.AutoViz_Class import AutoViz_Class import pandas as pd import matplotlib.pyplot as plt import pandas_profiling df = pd.read_csv(r"C:\Users\王元平\Music\Desktop\cameras.csv") df
查看数据前10行、大小和一些基本描述等
df.head(10) # 查看大小 df.shape df.describe() # # 查看缺失值
数据打下为,如下图
缺失值情况
一般进行数据清洗需要通过通过7个步骤进行处理: 选择子集,列名重命名,删除重复值,缺失值处理,一致化处理,数据排序处理,异常值处理。
即选择需要进行分析的数据集中的数据列,为避免干扰可对其他不参与分析的数列进行隐藏处理,本数据不需要该项
本数据命名合理。不需要重命名
df[df.duplicated(keep=False)] # 查找重复行
超找结果无重复行
查询含有缺失值的属性
df.isnull().any() # 查看缺失值所在的列
df[df.isnull().values==True] # 可以只显示存在缺失值的行列,清楚的确定缺失值的位置
nan_result = df.fillna(0) # 用0 填充缺失值 nan_result
数据集中会存在某一个数据列的数据至标准不一致或命名规则不一致的情况,可以使用分列功能将不一致的数据列中的数据值进行拆分
本数据不存在。
按时间升序排列
nan_result.sort_values(["DATE"],ascending=True)
本数据无异常值。
通过2个常用的数据集处理库得出了数据关系情况
所有经度和纬度的成对散点图
AV = AutoViz_Class() dft = AV.AutoViz(filename =r'C:\Users\王元平\Music\Desktop\cameras.csv')
在通过如下库可以得出经度、纬度与抓拍次数的交互图
import pandas_profiling df = pd.read_csv(r"C:\Users\王元平\Music\Desktop\cameras.csv",encoding="gbk") df.profile_report(title='Auto cameras Report')
地区与违规行车的直方图
1、高经度和中纬度地区,时常发生违规行车。
2、经度为41.9756053——41.9099724之间发生违规行车较为频繁。
3、4843 W FULLERTON(富勒顿)地区发生的违规行车的猪排次数最多。
4、前20名地区抓拍违规抓拍次数平均在250/天——320/天之间,违规次数较多,交通安全存在隐患。