【发布时间】:2015-05-03 18:20:11
【问题描述】:
我正在尝试通过使用滚动的给定数组作为指定行维度的二维数组的行来从数组创建二维数组。例如:
r = np.array([1,2,3,4])
想要一个 3 行的矩阵(使用 r)作为
[[2,3,4,1],
[1,2,3,4],
[4,1,2,3]]
我想我有一个想法,通过使用 numpy.roll 和 for 循环定义一个函数,但我试图避免这种情况,因为我的 2D 数组将非常大。如果可能的话,我希望能够向后滚动。
有没有办法使用 numpy 函数来代替?对此的任何建议表示赞赏。
【问题讨论】:
-
你可以试试
random.shuffle -
好吧,我应该提到它应该有一些顺序。如果所需的矩阵有 n 行,那么滚动的序列必须从 -1、0、...、n-1 开始,不包括 n-1。
-
你不能用循环卷积来做到这一点吗?