Python数据处理----highD数据集中提取车辆变道时刻后车thw

本文介绍了如何使用Python在highD数据集中提取车辆变道时刻后车的thw。通过遍历track.csv文件,按车辆id分组,判断车道id变化来确定变道时刻,并获取相关frame和后车id,进而计算thw。分组操作确保了正确对比相邻行数据,避免不同车辆间的错误匹配。
摘要由CSDN通过智能技术生成

使用Python处理数据,例如在highD中提取数据时,首先要搞清楚自己要什么,然后再思考可以添加什么条件来实现它。

比如我想提取车辆变道时刻后车thw,大体思想就是:

  1. 遍历每个track.csv文件
  2. 在每个文件中,按id分组(后续说到为什么要这么做)
  3. 因为要提取车辆变道时刻的什么什么,所以先定义车辆变道时刻,就是车道id那一列相邻两行相减,不等于0,则取第二行,这一行对应的第一列frame就是换道时刻
  4. 提取这一行的第一列frame和后车id那一列
  5. 有了这两个数据就可以定位到后车在这一刻所对应的thw
  6. 为什么要分组(在第三步中,你要相邻两行相减,不分组的话,1号车的最后一行和2号车的第一行也会相减,提取出来的2号车的第一行不是换道时刻,所以要在每个车辆id组中相减)

代码如下

import pandas as pd
import os

# 指定CSV文件所在的文件夹路径
csv_folder_path = 'D:/00000/highD/data/test/'

# 获取文件夹中所有CSV文件的路径
csv_file_paths = [os.path.join(csv_folder_path, file) for file in os.listdir(csv_folder_path) if file.endswith('.csv')]

# 初始化结果列表
output_data = []

# 遍历每个CSV文件
for csv_file_path in csv_file_paths:
    # 读取CSV文件为DataFrame
    data = pd.read_csv(csv_fil
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值