首页 > 解决方案 > 访问 ndarray 的元素

问题描述

我正在研究一个机器学习问题,其中输入具有样本形状(10, 1, 5, 4)10每个样本形状 (1,5,4)。下面我展示更多细节:

X = np.random.randn(10, 1, 5, 4)
a = np.zeros(5, dtype=int)
b = np.ones(5, dtype=int)
y = np.hstack((a,b))

print(X.shape)
print(y.shape)
(10, 1, 5, 4)
(10,)

每个样本的值X是一个代表四个参数的数组,因此:

X[0]

array([[[ 0.41246417,  1.0105981 , -0.64404467, -0.53073642],
    [-0.81929058, -0.14408449, -0.80003834,  0.974497  ],
    [-0.56111328,  0.63726127,  1.56704848,  1.16701553],
    [-0.3643063 , -0.57204605, -0.36627686,  0.61098743],
    [-0.25378511, -0.14519147, -0.22557196,  0.87733856]]])

在上文中,第一行也以这种方式[ 0.41246417, 1.0105981, -0.64404467, -0.53073642]表示min_speed, avg_speed, min_vel, avg_vel其他行。

但是我想创建一个新数组,它是一个堆栈,min_speed, avg_speed, min_vel, avg_vel这样 min_speed = [0.41246417, -0.81929058, -0.56111328, -0.3643063, -0.25378511](即每种情况下的第一列),avg_speed =[1.0105981 , -0.14408449,0.63726127, -0.57204605, -0.14519147](第二列)就像那样。

我如何操纵这个?

标签: pythonarraysnumpymultidimensional-arraynumpy-ndarray

解决方案


这将完成这项工作

X.transpose((0, 1, 3, 2))

推荐阅读