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

如何基于时间索引访问由numpy向量构造的数组元素

解决方法

你需要调整数组的轴顺序,把时间维度从最后一位移动到第一位即可,实现代码如下:

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.array([7, 8, 9])
d = np.array([10, 11, 12])

# 按原有逻辑构造初始数组
mat = np.array([[a, b],
                [c, d]])
# 调整轴顺序:将最后一维(时间维度)移动到第一维
mat = np.moveaxis(mat, -1, 0)

调整后调用mat[0]即可得到预期输出:

[[ 1  4]
 [ 7 10]]

原理解释

你初始构造的mat形状为(2, 2, 3),三个维度的含义依次是「矩阵行、矩阵列、时间索引」,使用np.moveaxis调整后数组形状变为(3, 2, 2),第一维对应时间索引,直接按下标访问即可拿到对应时间点的2×2矩阵。
你也可以使用transpose方法实现相同效果,写法为:

mat = mat.transpose(2, 0, 1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 00:24:04