【发布时间】:2021-11-07 06:45:45
【问题描述】:
我有两个 numpy 数组,希望不使用任何 for 循环将它们与以下规则合并。
- 从第一个数组中取出前 n 行。
- 从第二个数组中添加前 m 行。
- 从第一个数组中添加 n 到 2n 之间的行。
- 从第二个数组添加 m 到 2m 之间的行。
.....
- 从第二个数组中添加最后 m 行。
例如,假设我有两个数组和n=2, m=3
x = np.random.randint(10, size=(10, 6))
y = np.random.randint(20, size=(12, 6))
[[5 0 2 2 6 1]
[4 8 9 2 7 2]
[5 5 0 5 3 0]
[2 1 4 7 9 4]
[8 1 1 9 2 8]
[4 1 1 0 1 1]
[2 9 3 5 7 9]
[3 6 6 6 0 4]
[4 4 7 3 7 9]
[7 3 7 1 5 2]]
[[ 3 15 3 8 12 12]
[19 12 13 0 19 16]
[11 2 18 16 9 19]
[19 15 15 11 13 2]
[19 14 1 6 13 17]
[19 14 19 14 13 3]
[ 0 1 13 0 19 10]
[19 13 19 5 16 13]
[12 4 15 11 12 17]
[ 4 19 17 2 11 12]
[ 9 12 10 9 15 3]
[13 7 2 5 13 10]]
想要的输出是
[[5 0 2 2 6 1]
[4 8 9 2 7 2]
[ 3 15 3 8 12 12]
[19 12 13 0 19 16]
[11 2 18 16 9 19]
[5 5 0 5 3 0]
[2 1 4 7 9 4]
[19 15 15 11 13 2]
[19 14 1 6 13 17]
[19 14 19 14 13 3]
[8 1 1 9 2 8]
[4 1 1 0 1 1]
[ 0 1 13 0 19 10]
[19 13 19 5 16 13]
[12 4 15 11 12 17]
[2 9 3 5 7 9]
[3 6 6 6 0 4]
[ 4 19 17 2 11 12]
[ 9 12 10 9 15 3]
[13 7 2 5 13 10]
[4 4 7 3 7 9]
[7 3 7 1 5 2]
【问题讨论】:
标签: python numpy concatenation numpy-ndarray