我想从一维数组构造一个(n,n)
-数组,其中每一行相对于前一行移动一位(使用换行)。以下代码执行此操作:
import numpy as np
r = np.array([1, 2, 3, 4, 5])
n = len(r)
MM = np.zeros((n, n), dtype=r.dtype)
for k in range(n):
MM[k, :] = np.roll(r, k)
print(MM)
结果是:
[[1 2 3 4 5]
[5 1 2 3 4]
[4 5 1 2 3]
[3 4 5 1 2]
[2 3 4 5 1]]
有没有一种方法可以更快地完成这个Numpy,即避免Numpy中的大r
的for
循环?你知道吗
看看^{}
或^{}
相关问题 更多 >
编程相关推荐