专题1:NGSIM数据集切分

目录

  • 一.NGSIM 数据介绍
  • 二.NGSIM数据集中字段的介绍
  • 三.数据集切分
  • 四.总结:

一.NGSIM 数据介绍

NGSIM 的全称为 Next Generation Simulation,是由美国联邦公路局发起的一项数据采集项目,被交通界学者广泛用于 车辆跟驰换道等驾驶行为研究,交通流分析,微观交通模型构建,车辆运动轨迹预测,驾驶员意图识别,自动驾驶决策规划 等。所有数据均为在美国高速公路国道101上采集的实际运行轨迹数据。数据文件包含3个txt文档,三个文档对应三个不同的时段,每个时段为15分钟。关于该数据集更多的介绍,请参考《交通领域开源数据集NGSIM数据集的介绍》

二.NGSIM数据集中字段的介绍

关于NGSIM数据集中各条数据字段的介绍可以参考《NGSIM数据集数据字段介绍》,文章详细的对字段内容进行了介绍

三.数据集切分

NGSIM数据集一共有11850527条数据,为了方便后期数据处理,首先我们选择对数据集的条数进行切分,以100万条数据为切分点进行切分,最后将余下的数据存储到切分文件中。
数据集数据条数切分的代码如下,更改路径即可使用。

import pandas as pd
from pathlib import Path
############################################
# @ res_file_path 待分割文件路径
res_file_path = Path(r"G:\data_processing\NGSIM_Data.csv")                 #仅修改待分割文件路径即可
# @ split_size 分割大小 这里是100万条一个文件
split_size = 1000000
############################################
tar_dir = res_file_path.parent/("split_"+res_file_path.name.split(".")[0])
if not tar_dir.exists():
    tar_dir.mkdir()
    print("创建文件夹\t"+str(tar_dir))
print("目标路径:\t"+str(tar_dir))
print("分割文件:\t"+str(res_file_path))
print("分割大小:\t"+"{:,}".format(split_size))
tmp = pd.read_csv(res_file_path,nrows = 10)
columns = tmp.columns.to_list()
idx = 0
while(len(tmp)>0):
    start = 1+(idx*split_size)
    tmp = pd.read_csv(res_file_path,
                header = None,
                names = columns,
                skiprows = start,
                nrows = split_size)
    if len(tmp) <= 0:
        break
    file_name = res_file_path.name.split(".")[0]+"_{}_{}".format(start,start+len(tmp))+".csv"
    file_path = tar_dir/file_name
    tmp.to_csv(file_path,index=False)
    idx+=1
    print(file_name +"\t保存成功")

数据集切分完成的图示如下:
专题1:NGSIM数据集切分_第1张图片

四.总结:

关于切分完的数据集处理,请关注下面的文章。详细代码请查看《NGSIM数据集处理》;数据下载请查看NGSIM数据集

你可能感兴趣的:(NGSIM数据集处理,python,大数据,经验分享)