该程序相比于上一个程序更为简单,充分利用了pandas库中的切片提取方法
时刻信息提取:
# -*- coding: utf-8 -*-
"""
用于处理将NGSIM数据集中的车辆数据
将不同时刻的信息存储到独立的表格中
"""
import pandas as pd
filename = 'E:/研究文件及讨论汇报/博弈论决策小组讨论资料/human_like论文数据集/trajectories-0750am-0805am.csv' # 改为处理文件的位置
data = pd.read_csv(filename)
rows = data.shape[0] # 获取行数 shape[1]获取列数
frame_ids = list(set(data["Frame_ID"]))
print(frame_ids)
writer = pd.ExcelWriter(r'trajectories-0750am-0805am_时刻信息1020.xlsx') # 改为输出表格的信息
for frame_id in frame_ids :
frame_data = data[data["Frame_ID"]==frame_id]
frame_data.to_excel(writer,sheet_name = str(frame_id), index=False)
print(str(frame_id)+'时刻提取完毕')
writer.save()
车辆信息:
# -*- coding: utf-8 -*-
"""
用于处理将NGSIM数据集中的车辆数据
将不同车辆的信息存储到独立的表格中
"""
import pandas as pd
filename = 'E:/研究文件及讨论汇报/博弈论决策小组讨论资料/human_like论文数据集/trajectories-0750am-0805am.csv' # 改为处理文件的位置
data = pd.read_csv(filename)
rows = data.shape[0] # 获取行数 shape[1]获取列数
vehicles = list(set(data["Vehicle_ID"]))
print(vehicles)
writer = pd.ExcelWriter(r'trajectories-0750am-0805am_车辆信息1020.xlsx') # 改为输出表格的信息
for vehicle in vehicles :
frame_data = data[data["Vehicle_ID"]==vehicle]
frame_data.to_excel(writer,sheet_name = str(vehicle), index=False)
print(str(vehicle)+'号车提取完毕')
writer.save()
其中,主要是通过:
frame_data = data[data["Vehicle_ID"]==vehicle]
提取含有该车辆或者该时刻的每一行的信息,pandas确实是一个很强的工具,要好好学一下
如果提取之后出现了警告的话,不要着急等待程序结束即可
G:\code\work_code\NGSIM_deal\NGSIM_silce_by_vehicle.py:22: FutureWarning: save is not part of the public API, usage can give in unexpected results and will be removed in a future version
writer.save()