分割數組
import numpy as np
a = np.arange(24).reshape(2,3,4)
b = np.arange(24).reshape(3,8)
print(a)
print(b)
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
[[ 0 1 2 3 4 5 6 7]
[ 8 9 10 11 12 13 14 15]
[16 17 18 19 20 21 22 23]]
水準分割
# 把數組沿着水準方向分割為3個相同大小的子數組,如果分割為2的話會報錯
print(np.hsplit(a,3))
[array([[[ 0, 1, 2, 3]],
[[12, 13, 14, 15]]]), array([[[ 4, 5, 6, 7]],
[[16, 17, 18, 19]]]), array([[[ 8, 9, 10, 11]],
[[20, 21, 22, 23]]])]
[array([[ 0, 1, 2, 3],
[ 8, 9, 10, 11],
[16, 17, 18, 19]]), array([[ 4, 5, 6, 7],
[12, 13, 14, 15],
[20, 21, 22, 23]])]
[array([[[ 0, 1, 2, 3]],
[[12, 13, 14, 15]]]), array([[[ 4, 5, 6, 7]],
[[16, 17, 18, 19]]]), array([[[ 8, 9, 10, 11]],
[[20, 21, 22, 23]]])]
垂直分割
[array([[0, 1, 2, 3, 4, 5, 6, 7]]), array([[ 8, 9, 10, 11, 12, 13, 14, 15]]), array([[16, 17, 18, 19, 20, 21, 22, 23]])]
[array([[0, 1, 2, 3, 4, 5, 6, 7]]), array([[ 8, 9, 10, 11, 12, 13, 14, 15]]), array([[16, 17, 18, 19, 20, 21, 22, 23]])]
深度分割
[array([[[ 0, 1],
[ 4, 5],
[ 8, 9]],
[[12, 13],
[16, 17],
[20, 21]]]), array([[[ 2, 3],
[ 6, 7],
[10, 11]],
[[14, 15],
[18, 19],
[22, 23]]])]