You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从形状(19601,1000,12)的X_train提取矩阵并合并为(12*19601,1000)?

解决方法

不用手动遍历或者列表推导式折腾,用numpy的轴变换和重塑就能一步搞定,效率还高:

假设你的X_train是numpy数组,直接执行以下代码:

import numpy as np

# 先交换每个子矩阵的轴,把(1000,12)转成(12,1000),整体形状变为(19601,12,1000)
# 再把前两个轴合并成一个,自动计算总长度为19601*12,得到目标形状
result = X_train.swapaxes(1, 2).reshape(-1, 1000)

或者用transpose实现同样的效果:

result = X_train.transpose(0, 2, 1).reshape(-1, 1000)

为什么你的列表推导式没用?

你写的[sig[i][j][k] for sig in X_train]索引逻辑完全错误:sig是X_train里的单个元素,形状是(1000,12),根本没有第三个索引k,这样写要么报错,要么只能取出零散的单个数值,完全达不到合并矩阵的目的。

内容的提问来源于stack exchange,提问作者stone327

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 01:42:07