numpy.vsplit
numpy.vsplit(a, indices_or_sections)
Функция vsplit() разбивает массив по вертикали.
Если массив имеет размерность равную или большую 2 то vsplit
разделит его вдоль первой оси. Данная функция полностью эквивалентна функции split
с параметром axis = 0
.
-
- a - массив NumPy
- Массив, который необходимо разбить на подмассивы. Если размерность данного массива меньше 2, то будет возбуждено исключение 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(8).reshape(4, 2)
>>> a
array([[0, 1],
[2, 3],
[4, 5],
[6, 7]])
>>>
>>> np.vsplit(a, 2)
[array([[0, 1],
[2, 3]]), array([[4, 5],
[6, 7]])]
>>>
>>> np.vsplit(a, [1, 3])
[array([[0, 1]]), array([[2, 3],
[4, 5]]), array([[6, 7]])]
>>>
>>>
>>> b = np.arange(36).reshape(6, 2, 3)
>>> b
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],
[27, 28, 29]],
[[30, 31, 32],
[33, 34, 35]]])
>>>
>>> np.vsplit(b, 2)
[array([[[ 0, 1, 2],
[ 3, 4, 5]],
[[ 6, 7, 8],
[ 9, 10, 11]],
[[12, 13, 14],
[15, 16, 17]]]),
array([[[18, 19, 20],
[21, 22, 23]],
[[24, 25, 26],
[27, 28, 29]],
[[30, 31, 32],
[33, 34, 35]]])]
>>>
>>> np.vsplit(b, [1, 5])
[array([[[0, 1, 2],
[3, 4, 5]]]),
array([[[ 6, 7, 8],
[ 9, 10, 11]],
[[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23]],
[[24, 25, 26],
[27, 28, 29]]]),
array([[[30, 31, 32],
[33, 34, 35]]])]