gpt4 book ai didi

python - 如何在允许重复的情况下减少空间点的 numpy 数组并求和强度值

转载 作者:太空宇宙 更新时间:2023-11-03 15:48:53 24 4
gpt4 key购买 nike

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

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])])

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

很抱歉这里缺少代码,但老实说,我什至不知道从 np.unique 之外的哪里开始

最佳答案

被 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]])

关于python - 如何在允许重复的情况下减少空间点的 numpy 数组并求和强度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48018188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com