NGSIM数据集Python处理(跟驰车队筛选)

NGSIM数据集具有高精度、覆盖广等特征,大量论文使用NGSIM数据集来研究车辆的跟驰行为,如验证跟驰模型,跟驰模型参数标定等,本文使用Python代码实现对跟驰车队的筛选,未进行数据平滑处理。通过代码自定义车头间距、车头时距、跟驰时间阈值,通过不同的前车对同一ID车辆数据进行切分,解决了原始数据中同一ID被多个车辆复用而导致的数据异常问题,话不多说,直接上代码:

import pandas as pd
import numpy as np
filepath = input('输入原始文件路径:')
filepath_1 = input('输入目标文件保存文件夹:')
answer = int(input('输入跟驰车队最大间距(单位:英尺):'))
answer_1 = int(input('输入跟驰车队最大车头时距(单位:s):'))
time = int(input('输入跟驰最小持续时间(单位:s):'))
origin_data = pd.read_csv(filepath)
data = origin_data[origin_data.Preceding != 0]
for ID in set(list(data['Vehicle_ID'])):
    data_c = data[data.Vehicle_ID == ID]
    for P_ID in set(list(data_c['Preceding'])):
        data_c_0 = data_c[data_c.Preceding == P_ID]
        data_c_1 = data_c_0[data_c_0.Space_Headway < answer]
        data_c_2 = data_c_1[data_c_1.Time_Headway < answer_1]
        if data_c_2.shape[0] > time*10:
            lst_Frame_ID = sorted(list(data_c_2['Frame_ID']))
            lst_Frame_ID_diff = np.diff(lst_Frame_ID)
            if len(set(lst_Frame_ID_diff)) == 1:
                print(data_c_2)
                print('车辆:'+str(ID)+'前车:'+str(P_ID)+'跟驰数据已输出')
                data_c_2.to_csv(filepath_1+'\\主车:'+str(ID)+'前车:'+str(P_ID)+'.csv')

代码执行效果如图:

 若有疑问或有交通数据处理需求欢迎VX探讨:A2528945820

评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惜君如常

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值