本文使用Python代码实现对NGSIM数据集中跟驰车辆前后车数据的获取。主要使用numpy和pandas两个库。在筛选时,去掉了无前车和后车的数据,即前车或后车ID为0。本文提供代码大体框架介绍。
- 构建初始数据列
构建空白列,用于保存数据。
data['v_Preceding'] = np.nan
data['a_Preceding']=np.nan
data['x_Preceding']=np.nan
data['y_Preceding']=np.nan
data['v_Following']=np.nan
data['a_Following']=np.nan
data['x_Following']=np.nan
data['y_Following']=np.nan
- 获取主车、前车、后车完整数据
该部分主要实现从原始数据中获取主车ID、速度、加速度、坐标信息,以及前后车ID数据。使用Global_Time和循环获取时间相同的片段索引,并获取该时刻对应的主车、前车和后车ID。
for item in set_Global_Time:
id = [i for i, x in enumerate(Global_Time) if x == item] #获取每一时刻在原始数据中对应的索引
'''获取该时刻对应的主车、前车、后车ID'''
new_ID = Vehicle_ID[id[0]:id[-1] + 1]
new_P_ID = Preceding[id[0]:id[-1] + 1]
new_F_ID=Following[id[0]:id[-1] + 1]
- 目标数据获取

本文介绍了如何使用Python的numpy和pandas库处理NGSIM数据集,提取车辆跟驰状态下的前后车速度、加速度和坐标信息。通过对原始数据筛选,去除无前车和后车的数据,然后通过遍历获取每个时刻对应车辆的详细信息,并填充到预定义的数据框中。最终,将提取到的数据存储为新的数据列,包括前车和后车的速度、加速度和坐标。
最低0.47元/天 解锁文章
7571





