如何通过允许重复和总和强度值来减少空间点的numpy数组

时间:2017-12-29 06:06:51

标签: python numpy

假设我有一个包含[x,y,z,intensity]:

数组的numpy数组
EndArray=np.array([np.array([1,2,3,1.63]),np.array([1,2,2,.32])])

如果在重复发生时对强度值求和,我怎么可能将数组减少到唯一点?

所以上面的最终结果如下:

UPDATE your_table_name 
SET `Old Exp Date` = `Expired Date`, 
`Expired Date` = "$api_value";

我正在考虑在x,y,z上使用numpy.unique,但这会给我整数唯一性计数,而不考虑强度列。

我很抱歉这里缺少代码,但老实说,我甚至不知道从np.unique以外的地方开始

1 个答案:

答案 0 :(得分:3)

作为NumPy标记/处理NumPy数组,我们可以使用np.unique的新功能接受axis参数来处理2D数组作为组,以便为​​我们提供预期的输出,例如所以 -

In [51]: unq, tags = np.unique(MyArray[:,:3],axis=0, return_inverse=1)

In [52]: np.c_[unq,np.bincount(tags, MyArray[:,3])]
Out[52]: 
array([[ 1.  ,  2.  ,  2.  ,  0.32],
       [ 1.  ,  2.  ,  3.  ,  1.63]])