我有一个数据集,它是一个具有形状(1536x16x48)的numpy数组。对这些维度的快速解释可能会有所帮助:
总结:我有48个6秒(1536个值)的脑电图数据样本,由16个电极采集
我需要用所有这些数据创建一个pandas数据框,从而将这个3D数组转换成2D。如果我将所有样本一个叠在另一个上面,则可以删除深度维度(48)。因此,新数据集的形状将为(1536*48)x16
除此之外,因为这是一个分类问题,我有一个48个值的向量,代表每个EEG样本的类别。新数据集还应该将其作为“类”列,然后实际形状将是:(1536*48)x16+1(类)
我可以很容易地通过3D数组的深度维度循环,并将所有内容连接到一个2D新数组中。但这看起来很糟糕,因为我将处理许多像这样的数据集。性能是一个问题。我想知道有没有更聪明的方法
我试图为这个问题提供尽可能多的信息,但由于这不是一项琐碎的任务,如果需要,请随时询问更多细节
提前谢谢
对于numpy部分
输出
还是一行
x = np.hstack((x.swapaxes(1,2).reshape((-1, 16), order='C'), c))
最后,
设置
沿最后一个尺寸均匀分割;堆叠那些元素,重塑形状,馈送到
DataFrame
。使用阵列维度的长度可以简化该过程使用你的形状
从3d数组生成数据帧后,将分类列添加到其中,
df['class'] = data
Column selection, addition, deletion相关问题 更多 >
编程相关推荐