1.1.5 · 建议 30 分钟 · 满分 32
智能交通系统的数据采集、处理和审核流程设计
背景
某智能交通系统希望通过车辆的行驶数据,利用人工智能技术进行交通流量预测和拥堵预警。你作为人工智能训练师,需要设计一套全面的业务数据采集、处理和审核流程,确保数据在进入交通流量分析系统之前经过严格的采集、清洗、审核和预处理。 车辆行驶数据集 vehicle_traffic_data.csv 包含字段:VehicleID(车辆ID)、DriverName(驾驶员姓名)、Age(年龄)、Gender(Male/Female)、Speed(车速 km/h)、TravelDistance(行驶距离 km)、TravelTime(行驶时间 min)、TrafficEvent(交通事件:Normal/Accident/Traffic Jam/Breakdown)。
工作任务
- 数据采集:从本地文件 vehicle_traffic_data.csv 中读取数据,加载到 DataFrame,并显示前 5 行数据。
- 数据清洗与预处理:删除缺失值;进行数据类型转换;删除不合理的年龄、车速、行驶距离和行驶时间;保存为 cleaned_vehicle_traffic_data.csv。
- 数据合理性审核:审核字段合理性 — 年龄 18-70;车速 0-200 km/h;行驶距离 1-1000 km;行驶时间 1-1440 分钟。对不合理的数据进行标记。
- 数据统计:统计每种交通事件的发生次数;统计不同性别的平均车速、行驶距离和行驶时间;统计不同年龄段(18-25、26-35、36-45、46-55、56-65、65 以上)的驾驶员数。
素材预览
vehicle_traffic_data.csv
VehicleID,DriverName,Age,Gender,Speed,TravelDistance,TravelTime,TrafficEvent 1,Driver_1,62,Male,17,242,854.1176471,Normal 2,Driver_2,65,Male,128,438,205.3125,Accident ...
代码填空
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 1. 数据采集
# 从本地文件中读取数据 2分
data =
print("数据采集完成,已加载到DataFrame中")
# 打印数据的前5条记录 2分
print()# 2. 数据清洗与预处理
# 处理缺失值(删除) 2分
data =
# 数据类型转换
data = (int) #Age数据类型转换为int 1分
data = (float) #Speed数据类型转换为float 1分
data = (float) #TravelDistance数据类型转换为float 1分
data = (float) #TravelTime数据类型转换为float 1分
# 处理异常值 2分
data = data[((18, 70)) &
((0, 200)) &
((1, 1000)) &
((1, 1440))]
# 保存清洗后的数据 1分
('cleaned_vehicle_traffic_data.csv', index=False)
print("数据清洗完成,已保存为 'cleaned_vehicle_traffic_data.csv'")# 3. 数据合理性审核
# 审核字段合理性 1分
unreasonable_data = data[~(((18, 70)) &
((0, 200)) &
((1, 1000)) &
((1, 1440)))]
print("不合理的数据:\n", unreasonable_data)
# 4. 数据统计
# 统计每种交通事件的发生次数 2分
traffic_event_counts =
print("每种交通事件的发生次数:\n", traffic_event_counts)
# 统计不同性别的平均车速、行驶距离和行驶时间 2分
gender_stats = data..
print("不同性别的平均车速、行驶距离和行驶时间:\n", gender_stats)
# 统计不同年龄段的驾驶员数 5分
age_bins = [18, 26, 36, 46, 56, 66, np.inf]
age_labels = ['18-25', '26-35', '36-45', '46-55', '56-65', '65+']
data['AgeGroup'] = (,,, right=False)
age_group_counts =
print("不同年龄段的驾驶员数:\n", age_group_counts)