Python 如何在Numpy中重复行并保持顺序?
其思想是将一个数组重复多次。下面的内容应该可以Python 如何在Numpy中重复行并保持顺序?,python,numpy,sorting,Python,Numpy,Sorting,其思想是将一个数组重复多次。下面的内容应该可以 import numpy as np rpt=np.repeat(np.array([[1,2],[3,4]]), repeats=3, axis=0) 上面的代码将生成一个 1 2 1 2 1 2 3 4 3 4 3 4 但是,我想维持以下秩序 1 2 3 4 1 2 3 4 1 2 3 4 我可以知道要设置哪个设置来实现上述输出吗?一个选项是vstack: np.vstack([a]*3) 另一个是tile: np.tile(a,(3
import numpy as np
rpt=np.repeat(np.array([[1,2],[3,4]]), repeats=3, axis=0)
上面的代码将生成一个
1 2
1 2
1 2
3 4
3 4
3 4
但是,我想维持以下秩序
1 2
3 4
1 2
3 4
1 2
3 4
我可以知道要设置哪个设置来实现上述输出吗?一个选项是
vstack
:
np.vstack([a]*3)
另一个是tile
:
np.tile(a,(3,1))
输出:
array([[1, 2],
[3, 4],
[1, 2],
[3, 4],
[1, 2],
[3, 4]])
您可以使用
np.tile
a=np.array([[1,2],[3,4]]
在[7]中:名词短语tile(a,(2,1))
出[7]:
数组([[1,2],
[3, 4],
[1, 2],
[3, 4]])
在[9]中:名词短语tile(a,(3,1))
出[9]:
数组([[1,2],
[3, 4],
[1, 2],
[3, 4],
[1, 2],
[3, 4]])
要扩展现有的非常基本的解决方案(np.vstack
和np.tile
),您可能需要阅读更多关于如何重复块的内容。类似于repeat\u extension([1,2,3,4],blocks=[4],repeats=[3])。重塑(-1,2)
如果arrray是(1,2,2)形状,则重复将创建所需的块。然后将(3,2,2))重塑为(6,2)