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

2024-04-25 14:34:57 发布

您现在位置:Python中文网/ 问答频道 /正文

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

MyArray=np.array([np.array([1,2,3,.75]),np.array([1,2,2,.32]),np.array([1,2,3,.88])])

当重复发生时,如何在求强度值之和的同时将数组减少到唯一的点?你知道吗

所以上面的最终结果是:

EndArray=np.array([np.array([1,2,3,1.63]),np.array([1,2,2,.32])])

我在考虑用numpy.独特在x,y,z上,但这会给我唯一性的整数计数,而根本不考虑强度列。你知道吗

我很抱歉这里没有代码,但老实说,我甚至不知道从什么地方开始np.唯一你知道吗


Tags: 代码numpy地方np整数数组array老实
1条回答
网友
1楼 · 发布于 2024-04-25 14:34:57

作为NumPy标记/处理NumPy数组,我们可以使用^{}的新功能,该功能接受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]])

相关问题 更多 >