我有以下代码:
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)
第三行有一个错误,即'操作数无法与形状(25,3)(25,)'一起广播。由于l的形状不正确,我添加第二行以尝试将l的形状从(25L,)更改为(25L,1L),但它不起作用。第二行之前和之后的l的形状仍然是(25L,)。为什么?我应该如何重塑l以便第三条线可以运行?
答案 0 :(得分:2)
array.reshape
没有修改array
它会返回一个具有新形状的新数组。我想你想要:
l = l.reashape(N, 1)