NGSIM数据集处理-添加标签、特征标准化

2023-10-27

添加标签

对向左向右换道数据添加不同的标签

#!/usr/bin/env python
# coding: utf-8

# In[1]:


import csv
import pandas as pd
f2=pd.read_csv("./CL_train41.csv")
f2


# In[2]:


# TR_row=[]
# for i in range(len(f2)):
#     if i==0:
#         continue
#     else:
#         if f2['Vehicle_ID'][i]==f2['Vehicle_ID'][i-1] and f2['Lane_ID'][i]==f2['Lane_ID'][i-1]+1:
#             TR_row.extend(i-a for a in range(40))
# TR_row


# In[3]:


CL_num=int(len(f2)/41)
obj_list=[41*i-1 for i in range(CL_num+1)]
obj_list=obj_list[1:]
obj_list


# In[4]:


TR_row=[]
for i in obj_list:
    if f2['Vehicle_ID'][i]==f2['Vehicle_ID'][i-1] and f2['Lane_ID'][i]==f2['Lane_ID'][i-1]+1:
        TR_row.extend(i-40+a for a in range(40))
TL_row=[]
for i in obj_list:
    if f2['Vehicle_ID'][i]==f2['Vehicle_ID'][i-1] and f2['Lane_ID'][i]==f2['Lane_ID'][i-1]-1:
        TL_row.extend(i-40+a for a in range(40))
TL_row  


# In[5]:


TR40=f2.loc[TR_row]
TR40['label']=2
TL40=f2.loc[TL_row]
TL40['label']=1
TR40


# In[6]:


df_combine = pd.concat([TR40, TL40], ignore_index=True)
df_combine.to_csv("./RL_label.csv",index=False)
# TR40.to_csv("/home/mt/learn/NGSIM数据处理/csv/80/5:15-5:30/TR_label.csv",index=False)


# In[ ]:





# In[ ]:





# In[ ]:





特征标准化

#!/usr/bin/env python
# coding: utf-8

# In[1]:


import csv
import pandas as pd
f=pd.read_csv("./KL_train40.csv")
f2=pd.read_csv("./RL_label.csv")
# f3=pd.read_csv("/home/mt/learn/NGSIM数据处理/csv/80/算法数据/TR_label.csv")
f


# In[2]:


import numpy as np
def normalize(train):
  train_norm = train.apply(lambda x: (x - np.mean(x)) / (np.max(x) - np.min(x)))
  return train_norm


# In[3]:


F1=f[['Vehicle_ID','Frame_ID','Local_X','Local_Y','v_Class','v_Vel','v_Acc','Lane_ID','x_a','label']]
F2=f2[['Vehicle_ID','Frame_ID','Local_X','Local_Y','v_Class','v_Vel','v_Acc','Lane_ID','x_a','label']]


# In[4]:


df_combine = pd.concat([F1,F2], ignore_index=True)
df_combine.to_csv("./Doubel_label.csv",index=False)
# df_combine=normalize(df_combine)
# df_combine.to_csv("/home/mt/learn/NGSIM数据处理/csv/80/4:00-4:15/frame_id/Doubel_label.csv",index=False)


# In[8]:


df_combine = pd.concat([F1,F2], ignore_index=True)
df_combine.to_csv("/home/mt/learn/NGSIM数据处理/csv/101/8:20-8:35/Doubel_label.csv",index=False)
df_combine=normalize(df_combine)
df_combine.to_csv("/home/mt/learn/NGSIM数据处理/csv/101/8:20-8:35/Double_train.csv",index=False)


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NGSIM数据集处理-添加标签、特征标准化 的相关文章

随机推荐

  • 测试开发是什么?什么是测试开发工程师?

    测试开发工程师 Software Development Engineer in Test 简称SDET 是指那些既可以称作是开发人员 同时也负责软件开发阶段和测试周期的测试工作的技术人员 一个专业的SDET更关注软件产品的可测性 稳健性和
  • QML 保存用户配置

    作者 一去 二三里 个人微信号 iwaleon 微信公众号 高效程序员 对于应用程序来说 数据存储是不可或缺的一部分 例如 我们通常需要将用户的偏好设置 应用程序配置等信息保存起来 这样即使程序关闭或设备重启 数据也会得到保留 很方便后续继
  • 吞吐量 (TPS)、每秒查询率 (QPS)、并发数、响应时间 (RT),PV (Page View),UV (Unique Visitor),DAU (Daily Active User),MAU等

    吞吐量 TPS TPS Transactions Per Second 吞吐量是指系统在单位时间内处理请求的数量 对于无并发的应用系统而言 吞吐量与响应时间成严格的反比关系 实际上此时吞吐量就是响应时间的倒数 前面已经说过 对于单用户的系统
  • C++学习(六十二)整型初始化

    Debug模式下 未初始化的变量值为0xCCCCCCCC 即 858983460
  • 爱线段树的好孩子【九校2D1T3】优美序列

    Lxy养了N头奶牛 他把N头奶牛用1 N编号 第i头奶牛编号为i 为了让奶牛多产奶 每天早上他都会让奶牛们排成一排做早操 奶牛们是随机排列的 在奶牛排列中 如果一段区间 L R 中的数从小到大排列后是连续的 他认为这段区间是优美的 比如奶牛
  • 图的深度优先遍历算法

    前言 图的遍历与前面文章中的二叉树遍历还是存在很大区别的 所谓图的遍历指的是从图中的某一个顶点出发访问图中的其余顶点 并且需要保证每个顶点只被访问一次 由于图比二叉树复杂得多 所以前面二叉树的遍历算法在图中是行不通的 因为对于任意一个顶点来
  • c++ doxygen 注释规范_[总结]doxygen的使用与C/C++注释规范

    近期由于项目需要 参考网上资料整理了一下注释规范 详细内容如下 1 doxygen的安装与参数配置 1 1 安装 sudo apt get install doxygen 以下可以选择安装 sudo apt get install doxy
  • pandas 怎么格式化时间

    Pandas 提供了若干个函数来格式化时间 其中 最常用的是 to datetime 函数 你可以使用 to datetime 函数将一个字符串解析为时间 并指定字符串的格式 例如 import pandas as pd 将字符串 2022
  • go语言中的iota详解

    iota是go语言的常量计数器 只能在常量的表达式中使用 使用iota时只需要记住以下两点 1 iota在const关键字出现时将被重置为0 2 const中每新增一行常量声明将使iota计数一次 iota可理解为const语句块中的行索引
  • Python3安装Numpy和matplotlib模块

    安装这两个模块有两种方法 第一种 自动安装 打开CMD输入 pip install matplotlib 安装完毕再输入pip install numpy 如果运气好的话能自动下载并安装 但实际情况是下载极慢 还特别容易断线 第二种方法 手
  • Python 统计列表中各元素出现的次数

    除了https www csdn net tags MtTaYg5sOTU3NzUtYmxvZwO0O0OO0O0O html 中提到的方法 还有简单的 print lou list count 1
  • Linux—多线程编程

    1 什么是线程 线程是操作系统能够进行运算调度的最小单位 它被包含在进程之中 是进程中的实际运作单位 一条线程指的是进程中一个单一顺序的控制流 一个进程中可以并发多个线程 每条线程并行执行不同的任务 线程包含了表示进程内执行环境必须的信息
  • 出现 conda虚拟环境默认放在C盘 解决方法

    目录 1 问题所示 2 原理分析 3 解决方法 3 1 方法一 3 2 方法二 1 问题所示 通过conda配置虚拟环境的时候 由于安装在D盘下 但是配置的环境默认都给我放C盘 通过如下命令 conda env list 最后查看该环境的确
  • shopify theme 跨境电商开发 liquid

    shopify theme 多语言国际化开发 shopify theme 跨境电商开发 liquid 本地编辑shopify主题的方式一 shopify cli 的命令 最近有有一个叫做shopify的跨境电商的东西需要开发一些主题和模板
  • [CentOS Python系列] 六.阿里云搭建Django网站详解

    本篇文章主要介绍讲述部署阿里云服务器Django网站环境 并通过IP地址访问网页的过程 写代码过程中往往第一步需要解决的就是配置开发环境 对于新手来说 这是非常头疼的事情 而当配置好之后或者对于老手来说 我们才能去实现理想的功能 基础性文章
  • linux安装node_exporter

    下载 Download Prometheus 解压 tar xvzf node exporter 1 5 0 darwin amd64 tar gz 解压后有三个文件 分别是LICENSE node exporter NOTICE 将nod
  • 物体无法碰撞导入的空气墙?

    在使用unity导入场景的时候 可能会因为编码问题导致导入的空气墙的Layer是空的 导致无法碰撞 解决方案 1 此时只需要给导入的空气墙设置Layer 2 在项目的 Edit gt Project Settings 的 如下 在图层矩阵中
  • Flutter屏幕适配

    文章目录 Flutter屏幕适配 一 Flutter中的单位 1 1 点 points 1 2 像素 pixels 1 3 设备像素比 devicePixelRatio 二 适配方案 2 1 rpx 适配 2 2 flutter scree
  • KEIL5使用技巧

    目录 1 文本美化 2 代码编辑技巧 1 TAB 键的妙用 2 快速位函数 变量被定义的地方 3 快速注释与快速消注释 3 其他小技巧 下面 向大家介绍KEIL5 软件的一些使用技巧 这些技巧在代码编辑和编写方面会非常有用 1 文本美化 文
  • NGSIM数据集处理-添加标签、特征标准化

    添加标签 对向左向右换道数据添加不同的标签 usr bin env python coding utf 8 In 1 import csv import pandas as pd f2 pd read csv CL train41 csv