" reshape(-1,1,2)"的意思是什么?

时间:2018-04-12 05:33:41

标签: python numpy

x = np.linspace(0,10, 5)
y = 2*x
points = np.array([x, y]).T.reshape(-1, 1, 2)

第三行的平均值是什么?我知道reshape(m,n)的平均值,但reshape(-1, 1, 2)的意思是什么?

1 个答案:

答案 0 :(得分:1)

你的问题并不完全清楚,所以我猜测-1部分是你的烦恼。

来自documantaion

  

新形状应与原始形状兼容。如果是整数,则结果将是该长度的1-D数组。一个形状尺寸可以是-1。在这种情况下,该值是从数组长度和剩余维度推断出来的。

整行的含义是这样的(为简单起见,将其分解):

  1. points = np.array([x, y]) - >创建一个由2 X 5
  2. 组成的x,y np.array
  3. .T - >转置
  4. .reshape(-1, 1, 2) - >重塑它,在本例中为5X1X2数组(如points.shape [(5L,1L,2L)的输出所示])