【发布时间】:2021-04-24 03:52:55
【问题描述】:
我有一个数据集,它是一个形状为 (1536 x 16 x 48) 的 numpy 数组。对这些维度的简要说明可能会有所帮助:
- 数据集由 EEG 传感器以 256Hz 的速率(1 秒 = 256 个测量值/值)收集的数据组成;
- 1536 个值代表 6 秒的 EEG 数据 (256 * 6 = 1536);
- 16 是用于收集数据的电极数量;
- 48 是样本数。
总结:我有 48 个 6 秒(1536 个值)的 EEG 数据样本,由 16 个电极收集。
我需要用所有这些数据创建一个 pandas 数据框,因此将这个 3D 数组转换为 2D。如果我将所有样本堆叠在一起,则可以删除深度尺寸(48)。所以新数据集的形状将是 (1536 * 48) x 16。
除此之外,由于这是一个分类问题,我有一个包含 48 个值的向量,代表每个 EEG 样本的类别。新数据集也应将其作为“类”列,然后实际形状为:(1536 * 48) x 16 + 1(类)。
我可以轻松地循环遍历 3D 数组的深度维度,并将所有内容连接成一个 2D 新数组。但这看起来很糟糕,因为我将处理许多像这样的数据集。性能是个问题。我想知道是否有更聪明的方法。
我试图为这个问题提供尽可能多的信息,但由于这不是一项简单的任务,如果需要,请随时询问更多细节。
提前致谢。
【问题讨论】:
标签: python arrays pandas numpy classification