我有一个numpy的2D数组(3x2)。
my_array = np.array([[1,2],[3,4],[5,6]])
my_array.shape
(3,2)
然后我想要每一行的平均值,所以我就这样做:
my_average = np.mean(my_array, axis=1)
my_average.shape
(3,)
my_average
是一维数组(有意义),但我希望它的形状为(1,3)(或甚至为(3,1),以便我可以对其进行转置),换句话说,a维度之一为1的2D数组。
我无法转置一维数组,它们保持不变:
np.transpose(my_average)
array([1.5, 3.5, 5.5])
我当然可以创建一个新数组,并使用my_average填充它
my_average_2 = np.array(np.transpose([my_average]))
my_average_2.shape
(3,1)
但是,这需要将my_average作为列表传递,转置并填充到另一个变量中。
在某个方向上求向量的平均值是否容易?
因此,如果我通过axis = 0求平均值,我想要一个(1,3)数组,如果我通过axis = 1求平均值,我想要一个(3,1)数组
谢谢