NGSIM车辆信息和时刻信息提取程序

该程序相比于上一个程序更为简单,充分利用了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()

你可能感兴趣的:(pandas,python,数据分析)