我正在研究一个机器学习问题,其中输入具有(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]
(第二列)都是这样。
我该如何操作?
这将完成工作
X.transpose(0, 1, 3, 2)