numpy.hsplit
numpy.hsplit(a, indices_or_sections)
Функция hsplit() разбивает массив по горизонтали.
Вне зависимости от количества осей массива a функция hsplit разделит его вдоль второй оси (ось с индексом 1). Данная функция полностью эквивалентна функции split с параметром axis = 1.
-
- a - массив NumPy
- Массив, который необходимо разбить на подмассивы.
- indices_or_sections - целое число или одномерный массив
-
Если в качестве этого параметра указано целое число N, то массив будет разделен на N равных частей вдоль указанной в параметре axis оси.
Если параметр indices_or_sections является одномерным массивом отсортированных по возрастанию целых чисел, то вдоль указанной оси массив будет разбит на соответствующие указанным числам промежутки. Например, если указан массив
[2,4,7]
, то это будет соответствовать промежуткам[:2], [2:4], [4:7], [7:]
.Если некоторое число в одномерном массиве параметра indices_or_sections превышает размер массива вдоль указанной оси, то будет возвращен пустой массив.
-
- list of ndarrays - список массивов NumPy
- Список подмассивов исходного массива a.
Замечание
В случае если параметр indices_or_sections равен числу, которое не делит нацело длинну второй оси или превышает размер массива вдоль второй оси, то будет возбуждено исключение ValueError.
Примеры
>>> import numpy as np
>>>
>>> a = np.arange(8)
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7])
>>>
>>> np.hsplit(a, 2)
[array([0, 1, 2, 3]), array([4, 5, 6, 7])]
>>>
>>> np.hsplit(a, [1, 7])
[array([0]), array([1, 2, 3, 4, 5, 6]), array([7])]
>>>
>>>
>>> b = np.arange(16).reshape(2, 8)
>>> b
array([[ 0, 1, 2, 3, 4, 5, 6, 7],
[ 8, 9, 10, 11, 12, 13, 14, 15]])
>>>
>>> np.hsplit(b, 2)
[array([[ 0, 1, 2, 3],
[ 8, 9, 10, 11]]),
array([[ 4, 5, 6, 7],
[12, 13, 14, 15]])]
>>>
>>> np.hsplit(b, [1, 7])
[array([[0],
[8]]),
array([[ 1, 2, 3, 4, 5, 6],
[ 9, 10, 11, 12, 13, 14]]),
array([[ 7],
[15]])]
>>>
>>>
>>> c = np.arange(16).reshape(2, 4, 2)
>>> c
array([[[ 0, 1],
[ 2, 3],
[ 4, 5],
[ 6, 7]],
[[ 8, 9],
[10, 11],
[12, 13],
[14, 15]]])
>>>
>>> np.hsplit(c, 2)
[array([[[ 0, 1],
[ 2, 3]],
[[ 8, 9],
[10, 11]]]),
array([[[ 4, 5],
[ 6, 7]],
[[12, 13],
[14, 15]]])]
>>>
>>> np.hsplit(c, [1, 3])
[array([[[0, 1]],
[[8, 9]]]),
array([[[ 2, 3],
[ 4, 5]],
[[10, 11],
[12, 13]]]),
array([[[ 6, 7]],
[[14, 15]]])]