NumPy Array манипулирование: функция block ()
функция numpy.block ()
Функция block () собирает nd-массив из вложенных списков блоков.
Блоки в самых внутренних списках объединяются по последнему измерению (-1), затем они объединяются по второму последнему измерению (-2) и так далее, пока не будет достигнут самый внешний список.
Блоки могут быть любого размера, но не будут транслироваться с использованием обычных правил. Вместо этого вставляются ведущие оси размера 1, чтобы сделать block.ndim одинаковым для всех блоков. Это в первую очередь полезно для работы со скалярами и означает, что код типа np.block ([v, 1]) является допустимым, где v.ndim == 1.
Когда вложенный список имеет два уровня глубины, это позволяет создавать блочные матрицы из их компонентов.
Синтаксис:
numpy.block (массивы)
Версия: 1.15.0
Параметр:
название | Описание | Необходимые / Необязательный |
---|---|---|
массивы | Если передан один ndarray или скаляр (вложенный список глубиной 0), он возвращается без изменений (и не копируется). Формы элементов должны совпадать по соответствующим осям (без широковещательной передачи), но ведущие 1 будут добавлены к форме по мере необходимости, чтобы размеры соответствовали. | необходимые |
Возвращаемое значение:
block_array: ndarray Массив, собранный из заданных блоков.
Размерность вывода равна наибольшему из: * размерности всех входных данных * глубине, на которую вложен список ввода
Повышает: ValueError -
- Если глубина списка не совпадает - например, [[a, b], c] недопустимо и должно быть написано [[a, b], [c]]
- Если списки пусты - например, [[a, b], []]
Пример-1: numpy.block ()
import numpy as np
>>> A = np.eye(2) * 2
>>> B = np.eye(3) * 3
>>> np.block([
... [A, np.zeros((2, 3))],
... [np.ones((3, 2)), B ]
... ])
array([[ 2., 0., 0., 0., 0.],
[ 0., 2., 0., 0., 0.],
[ 1., 1., 3., 0., 0.],
[ 1., 1., 0., 3., 0.],
[ 1., 1., 0., 0., 3.]])
Пример 2: numpy.block ()
import numpy as np
>>> np.block([1, 2, 3])
array([1, 2, 3])
>>> a = np.array([1, 2, 3])
>>> b = np.array([2, 3, 4])
>>> np.block([a, b, 10])
array([1, 2, 3, 2, 3, 4, 10])
Иллюстрированная презентация:
Python - NumPy Code Editor:
Предыдущая: vstack ()
Далее: Разделение массивов split ()
Новый контент: Composer: менеджер зависимостей для PHP , R программирования