arrays - numpy 获取二维数组而不是一维数组
问题描述
我有一个 numpy 二维数组(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) 所以我可以转置它),换句话说,一个二维数组,其中一个维度是1.
我不能转置一维数组,它们保持不变:
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)数组
谢谢
解决方案
推荐阅读
- python - 如何在数组中获得字符串的串联?
- c# - 没有一个 SecurityTokenHandlers 可以读取“securityToken”
- java - 如何更改 Eclipse 控制台中日志的颜色?
- sql-server - SqlSever:EXECUTE SP_EXECUTESQL 中的多个 CTE
- vim - 用于取消缩进直到行首的 Vim 快捷方式
- javascript - jquery post变量没有被传递给php
- flutter - 在颤动中搜索离火力最近的物体
- java - 在构建的 JAR 之外指定 jndi.properties 位置
- python - 根据索引、列名和原始值映射 Pandas 数据框?
- r - 如何基于循环创建一组数据框?