如何使用二维数组中的值优化for循环以填充3-D np数组?

时间:2018-12-28 19:38:25

标签: python for-loop multidimensional-array multiprocessing point-clouds

我有一个形状为(N,3)的2-d numpy数组“点”,它由N个点坐标组成。该数组中的点坐标按以下方式排序:存在唯一的连续点组,以使“索引”包含每个组的起始索引,“计数”包含每个组中的元素数。现在,我想创建一个尺寸为(K,T,3)的3-D数组“输出”,其中K是唯一组的数量,T是固定数。每个唯一组的“输出”数组最多必须包含T点坐标。

我想要的功能可以使用以下for循环实现,但这是一个耗时的过程。我想对此进行优化。我一直在尝试使用多处理池,但是在这种情况下无法正确使用它。如果有人可以帮助,那就太好了。谢谢!

output = np.zeros(shape=(K, T, 3), dtype=np.float32)
counts = np.clip(counts, 0, T)

for i in range(K):
    output[i, :counts[i], :3] = points[indices[i]:indices[i]+counts[i]]

0 个答案:

没有答案