TL;DR:我正在寻找一种不使用循环来缩短以下代码的方法
# x = [m, n] Numpy array
# y = [m, t*n] Numpy array of zeros (placeholder)
for i in range(m):
for j in range(n):
y[i, t*j:t*(j+1)] = x[i, j]
更多解释:我想做的是将一个二维数组复制/广播到一个更大的数组中,该数组在第二个维度中将元素重复 t
次。上面的代码工作正常,但我想通过避免使用循环来保持它的效率。
最佳答案
np.repeat(x,n,axis=1)
这将在没有任何零数组初始化的情况下工作!假设您只想重复列中的前一个数组。
关于python - 需要有效的方法将较小的 Numpy 数组广播到较大的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56086487/