无法将数组重塑为不同的形状
unable to reshape array into different shapes
我有以下代码:
l = -r_dot_k - sq_rt + 2*sq_rt*(npl.norm(r_rel,axis=1)<np.abs(self._radius))
l.reshape(N,1)
intercept_pt = ray_direction*l + ray_point
#r_dot_k: (25L,)
#sq_rt: (25L,)
#r_rel: (25L,3L)
#l: (25L,) #after first line
#ray_direction: (25L,3L)
#ray_point: (25L,3L)
第三行有错误 'operands could not be broadcast together with shapes (25,3) (25,)'。由于 l 的形状不正确,我添加了第二行以尝试将 l 的形状从 (25L,) 更改为 (25L,1L),但它不起作用。第二行前后l的形状还是(25L,)。为什么?我应该如何重塑 l 以便第三行可以 运行?
array.reshape
不会修改 array
它 returns 具有新形状的新数组。我想你想要:
l = l.reashape(N, 1)
我有以下代码:
l = -r_dot_k - sq_rt + 2*sq_rt*(npl.norm(r_rel,axis=1)<np.abs(self._radius))
l.reshape(N,1)
intercept_pt = ray_direction*l + ray_point
#r_dot_k: (25L,)
#sq_rt: (25L,)
#r_rel: (25L,3L)
#l: (25L,) #after first line
#ray_direction: (25L,3L)
#ray_point: (25L,3L)
第三行有错误 'operands could not be broadcast together with shapes (25,3) (25,)'。由于 l 的形状不正确,我添加了第二行以尝试将 l 的形状从 (25L,) 更改为 (25L,1L),但它不起作用。第二行前后l的形状还是(25L,)。为什么?我应该如何重塑 l 以便第三行可以 运行?
array.reshape
不会修改 array
它 returns 具有新形状的新数组。我想你想要:
l = l.reashape(N, 1)