Array splitting can be vertical, horizontal, or depth-wise. We can use functions hsplit()
, vsplit()
and dsplit()
respectively for the same . We can split arrays into arrays of the same shape by indicating the position after which the split should occur.
- Horizontal splitting: The ‘hsplit()’ function splits an array along axis parameter = 1. ‘numpy.hsplit’ is equivalent to ‘split’ with axis parameter = 1, the array is always splitted along the second axis regardless of the array dimension. This function split an array into multiple sub-arrays horizontally (column-wise).
Syntax:
numpy.hsplit(ary, indices_or_sections)
Example:
# Horizontal array splitting using np.hsplit()
import
numpy as np
# Making of a 3x3 array
a
=
np.arange(
9
).reshape(
3
,
3
)
# Horizontal splitting of array
# 'a' using np.hsplit().
print
("The array {} gets splitted \
horizontally to form {} ".
format
(a, np.hsplit(a,
3
)))
# Horizontal splitting of array 'a'
# using 'split' with axis parameter = 1.
print
("The array {} gets splitted \
horizontally to form {} ".
format
(a, np.split(a,
3
,
1
)))
Output:
The array [[0 1 2] [3 4 5] [6 7 8]] gets splitted horizontally to form [array([[0], [3], [6]]), array([[1], [4], [7]]), array([[2], [5], [8]])] The array [[0 1 2] [3 4 5] [6 7 8]] gets splitted horizontally to form [array([[0], [3], [6]]), array([[1], [4], [7]]), array([[2], [5], [8]])]
- Vertical splitting: The ‘vsplit()’ function splits an array along axis parameter = 0.‘numpy.vsplit’ is equivalent to ‘split’ with axis parameter = 0. This function split an array into multiple sub-arrays vertically (row-wise).
numpy.vsplit(ary, indices_or_sections)
Example:
import
numpy as np
# Making of a 3x3 array
a
=
np.arange(
9
).reshape(
3
,
3
)
# Vertical splitting of array 'a'
# using np.vsplit().
print
("The array {} gets splitted \
vertically to form {} ".
format
(a, np.vsplit(a,
3
)))
# Vertical splitting of array 'a'
# using 'split' with axis parameter = 0.
print
("The array {} gets splitted \
vertically to form {} ".
format
(a, np.split(a,
3
,
0
)))
Output:
The array [[0 1 2]
[3 4 5]
[6 7 8]] gets splitted vertically to form [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
The array [[0 1 2]
[3 4 5]
[6 7 8]] gets splitted vertically to form [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])] - Depth-wise splitting: It Split the array into multiple sub-arrays along the 3rd axis (depth).
numpy.dsplit(ary, indices_or_sections)
Example:
import
numpy as np
# Making of a 3x3x3 array.
b
=
np.arange(
27
).reshape(
3
,
3
,
3
)
# Depth-wise splitting of array
# 'b' using np.dsplit().
print
("The array {} gets splitted \
depth
-
wise to form {}".
format
(b, np.dsplit(b,
3
)))
Output:
The array [[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]][[ 9 10 11]
[12 13 14]
[15 16 17]][[18 19 20]
[21 22 23]
[24 25 26]]] gets splitted depth-wise to form [array([[[ 0],
[ 3],
[ 6]],[[ 9],
[12],
[15]],[[18],
[21],
[24]]]), array([[[ 1],
[ 4],
[ 7]],[[10],
[13],
[16]],[[19],
[22],
[25]]]), array([[[ 2],
[ 5],
[ 8]],[[11],
[14],
[17]],[[20],
[23],
[26]]])]