【发布时间】:2021-08-21 12:15:27
【问题描述】:
我有一个二维数组,我想将相同版本的数组堆叠到第三个维度中,特别是 axis=1。下面的代码可以完成这项工作,但是对于将大小为 (300,300) 的二维数组堆叠成长度为 300 的第三维数组来说非常慢。
arr_2d = arr_2d.reshape(arr_2d.shape[0],arr_2d.shape[1],1)
arr_3d = np.empty((sampling,sampling,sampling)) # allocate space
arr_3d = [arr_3d[:,:,i]==arr_2d for i in range(sampling)]
有没有更好、更有效的方法?
【问题讨论】:
-
虽然
repeat完成了所回答的工作(np.tile也可以在这里工作)我发现这个问题很不清楚,因为提供的代码没有多大意义。arr_2d和tgrid_2d有什么区别?sampling是什么?为什么在最后一行使用布尔相等==? -
很抱歉。我修复了代码,所以它确实有意义。
标签: python arrays numpy multidimensional-array