numpy.dsplit
numpy.dsplit(a, indices_or_sections)
Функция dsplit() разбивает массив на несколько подмассивов вдоль третьей оси.
Если массив имеет размерность равную или большую 3 то dsplit разделит его вдоль третьей оси. Данная функция полностью эквивалентна функции split с параметром axis = 2.
-
- a - массив NumPy
- Массив, который необходимо разбить на подмассивы. Если размерность данного массива меньше 3, то будет возбуждено исключение ValueError
- 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(12).reshape(1, 2, 6)
>>> a
array([[[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]]])
>>>
>>> np.dsplit(a, 2)
[array([[[0, 1, 2],
[6, 7, 8]]]),
array([[[ 3, 4, 5],
[ 9, 10, 11]]])]
>>>
>>> np.dsplit(a, 3)
[array([[[0, 1],
[6, 7]]]),
array([[[2, 3],
[8, 9]]]),
array([[[ 4, 5],
[10, 11]]])]
>>>
>>> np.dsplit(a, [1, 5])
[array([[[0],
[6]]]),
array([[[ 1, 2, 3, 4],
[ 7, 8, 9, 10]]]),
array([[[ 5],
[11]]])]