概述
整个毕业设计以及最近在打的七月在线数据竞赛所用的数据基本都是传感器现场采集或者仿真采集,因此如果使用端到端的深度学习模型就要去整理这些数据,自然少不了pandas和numpy的使用,特别是传感器数据,如果时间采样特别多,直接放进去可能GPU吃不消,那么如何针对这些数据进行变换就要考研numpy的基本拱了,本人针对数据变化所需要的numpy知识进行整理。
数据的读取
很多时候每一个样本数据都存放在一个csv的文件了,这样就需要用遍历文件夹获得这个这个样本并用append的方法将它拉进样本集中。
文件循环
for rt, dirs, files in os.walk(dir):
for filename in files:
其中
- root 所指的是当前正在遍历的这个文件夹的本身的地址
- dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
- files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
append
这里注意两点,np.append(array1,array2,axis)是针对np数组的。而a.append(a)是针对list的两者功能差不多,但是两者不能混淆;其中np.append的axis=0是按行递增,axis=1是按列递增;
注意:numpy矩阵操作中axis是个很重要的概念,决定矩阵如何读取。
增加维度
一个样本可能是2维数组,要想要许多整理成一个便于索引的样本集,就要增加一个新的维度来进行样本连接,最常用的是加入newaxis;
reshape和 transpose
为了符合机器学习算法模型输入的情况,我们往往要
两者区别:
reshape修改的只是维度,填充顺序不变,是矩阵的重组,还有一个参数order,有A、C、F三个取值
transpose修改的是轴,填充顺序改变,是多维度的交换;