数据来源
使用can总线采集数据
不需要这么多数据,仅需要’FrameID’,‘Velocity’,‘AcceleratorPedalPos’,‘BrakePedalSignal’,‘EngineSpeed’
数据处理
1. 读取数据
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv('D:/driver/LongitudeDriver/DATA/autocan.csv')
#打印列名
print(df.columns.values)
输出结果
筛选数据
仅需要’FrameID’,‘Velocity’,‘AcceleratorPedalPos’,‘BrakePedalSignal’,‘EngineSpeed’
#筛选'FrameID','Velocity','AcceleratorPedalPos','BrakePedalSignal''EngineSpeed'
df=df[['FrameID','Velocity','AcceleratorPedalPos','BrakePedalSignal','EngineSpeed']]
2.异常值处理
缺失值
此数据集缺失值为na,系统自己无法识别。所以须转换系统可识别的空值,然后进行数值替换
df.replace('na',np.NaN,inplace=True) #将表内na值替换为空
print(df.isna().sum())#输出缺失值个数
df["AcceleratorPedalPos"].fillna(method ='ffill', inplace = True)#用缺失值前一个值代替缺失值
异常值
首先需要把不可计算的数据类型,转换为可计算的
1、查看数据类型
代码
#查看各列数据类型
print(df.dtypes)
输出结果
2、数据类型转换
将object型转换为float型
代码
df['AcceleratorPedalPos'] = pd.to_numeric(df['AcceleratorPedalPos'], downcast="float")#转换