Python / Numpy中的内联列分配

时间:2018-10-12 14:12:28

标签: python numpy

我有一堆点,需要选择它们的一个子集,将值添加到x坐标并将信息存储在原始点中。 我需要没有循环或中间分配。

import numpy as np
points=np.array([[100.  , 100.  , 100.  ],
   [  0.  ,  -2.75,   0.  ],
   [  0.  ,  -2.75,   5.  ],
   [  0.  ,  -1.9 ,   3.15],
   [  0.  ,  -1.9 ,   3.35]])

然后尝试:

points[[3,4,0]][:,[0]]+=2

points[[3,4,0]][:,[0]]=points[[3,4,0]][:,[0]]+2

原始点变量不变。 有任何想法吗?我怀疑我缺少一些愚蠢的东西...

1 个答案:

答案 0 :(得分:0)

如果您要编辑这些行的第一列,请使用:

points[[3,4,0], 0] += 2
points
#[[ 102.    100.    100.  ]
# [   0.     -2.75    0.  ]
# [   0.     -2.75    5.  ]
# [   2.     -1.9     3.15]
# [   2.     -1.9     3.35]]