python - 需要有效的方法将较小的 Numpy 数组广播到较大的数组中

标签 python numpy for-loop array-broadcasting

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/

相关文章:

python - 根据numpy中的条件形成子数组

r - 在r中重命名列的循环

.html 模板页面中的 django for 循环(新手)

python - 迭代自定义类中的对象列表

python - 通过热图绘制横截面

Python:将打印函数作为参数发送

python - str.contains 函数 AND 不包含

python - 你如何调用numpy数组中位置X的元素?

python - 构造结构化数组时元组和列表有什么区别?

c - for 循环中的某些语句不会在每次迭代时执行