我想在数组下面分割
A =
[[0.45 + 0j, 1 - 2j, 3 - 4j, 5 + 6j, 7 + 8j, 9 - 10j, 11 - 12j, 13 + 14j, 15 + 16j, 17 - 18j, 19 - 20j, 21. - 22j, 23 - 24j],
[0.45 + 0j, 1 - 2j, 3 - 4j, 5 + 6j, 7 + 8j, 9 - 10j, 11 - 12j, 13 + 14j, 15 + 16j, 17 - 18j, 19 - 20j, 21. - 22j, 23 - 24j],
[0.45 + 0j, 1 - 2j, 3 - 4j, 5 + 6j, 7 + 8j, 9 - 10j, 11 - 12j, 13 + 14j, 15 + 16j, 17 - 18j, 19 - 20j, 21. - 22j, 23 - 24j],
[0.45 + 0j, 1 - 2j, 3 - 4j, 5 + 6j, 7 + 8j, 9 - 10j, 11 - 12j, 13 + 14j, 15 + 16j, 17 - 18j, 19 - 20j, 21. - 22j, 23 - 24j],
[0.45 + 0j, 1 - 2j, 3 - 4j, 5 + 6j, 7 + 8j, 9 - 10j, 11 - 12j, 13 + 14j, 15 + 16j, 17 - 18j, 19 - 20j, 21. - 22j, 23 - 24j]]
进入
B =
[[[1, 3, 5, 7, 9 , 11, 13, 15, 17, 19, 21, 23],
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]],
[[1, 3, 5, 7, 9 , 11, 13, 15, 17, 19, 21, 23],
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]],
[[1, 3, 5, 7, 9 , 11, 13, 15, 17, 19, 21, 23],
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]],
[[1, 3, 5, 7, 9 , 11, 13, 15, 17, 19, 21, 23],
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]],
[[1, 3, 5, 7, 9 , 11, 13, 15, 17, 19, 21, 23],
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]]]
然后在数组下面添加
R = [0.1, 0.2, 0.3, 0.4, 0.5]
如下所示
C =
[[[0.1, 1, 3, 5, 7, 9 , 11, 13, 15, 17, 19, 21, 23],
[0.0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]],
[[0.2, 1, 3, 5, 7, 9 , 11, 13, 15, 17, 19, 21, 23],
[0.0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]],
[[0.3, 1, 3, 5, 7, 9 , 11, 13, 15, 17, 19, 21, 23],
[0.0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]],
[[0.4, 1, 3, 5, 7, 9 , 11, 13, 15, 17, 19, 21, 23],
[0.0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]],
[[0.5, 1, 3, 5, 7, 9 , 11, 13, 15, 17, 19, 21, 23],
[0.0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]]]
我只想使用numpy库。
我已经尝试过以下功能,但没有帮助
索引分离 hsplit 对比 分裂 重塑 邮编
喜欢分裂的尝试
A = np.vsplit(A,5)
A = np.array(A)
或
A = np.hsplit(A,5)
A = np.array(A)
或
A = np.reshape(-1,A,5)
A = np.array(A)
或
A = np.reshape(A,5,-1)
A = np.array(A)
添加零件更容易,因为我使用了复杂的概念,并且可以添加...
如果您有使用其他功能的想法? 我只需要一个线索,我自己写代码!
答案 0 :(得分:0)
这是一种方法:
A = np.array([[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
[11, 22, 33, 44, 55, 66, 77, 88, 99, 1010]])
R = [0.1, 0.2, 0.3, 0.4, 0.5]
让我们从重塑和转置A
开始,以便与指定的预期输出中的结构匹配:
A = A.T.reshape(-1, 2, 2).transpose(0,2,1)
print(A)
[[[ 1 2]
[ 11 22]]
[[ 3 4]
[ 33 44]]
[[ 5 6]
[ 55 66]]
[[ 7 8]
[ 77 88]]
[[ 9 10]
[ 99 1010]]]
现在,我们可以使用np.column_stack
将0s
的新列堆叠到R
,然后使用np.dstack
将它的深度堆叠到重塑的{{1} }:
A
R = np.column_stack([R, np.zeros(len(R))])
C = np.dstack([R,A])