numpy.dsplit

numpy.dsplit(a, indices_or_sections)

Функция numpy.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.
Смотрите так же: split, array_split, hsplit, vsplit

Замечание

В случае если параметр 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]]])]