РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
42 of 541 menu

Функция block

Функция block собирает новый массив из переданных блоков, располагая их согласно структуре вложенных списков. Первый параметр - вложенный список блоков, которые могут быть массивами, списками или числами. Если блоки имеют разные размеры, функция автоматически выравнивает их, где это возможно, по правилам broadcasting. Важно, чтобы блоки были согласованы по размерам для формирования прямоугольной результирующей структуры.

Синтаксис

np.block(blocks)

Пример

Создадим простую блочную матрицу из двух горизонтальных блоков:

import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) res = np.block([[a, b]]) print(res)

Результат выполнения кода:

[[1 2 5 6] [3 4 7 8]]

Пример

Создадим блочную матрицу с вертикальным объединением:

import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) res = np.block([[a], [b]]) print(res)

Результат выполнения кода:

[[1 2] [3 4] [5 6] [7 8]]

Пример

Создадим сложную блочную структуру из четырех блоков в форме сетки 2x2:

import numpy as np a = np.array([[1, 1], [1, 1]]) b = np.array([[2, 2], [2, 2]]) c = np.array([[3, 3], [3, 3]]) d = np.array([[4, 4], [4, 4]]) res = np.block([[a, b], [c, d]]) print(res)

Результат выполнения кода:

[[1 1 2 2] [1 1 2 2] [3 3 4 4] [3 3 4 4]]

Пример

Функция может объединять блоки разных размеров, если это позволяет broadcasting:

import numpy as np a = np.array([[1, 2, 3], [4, 5, 6]]) b = np.array([[7], [8]]) c = np.array([9, 10, 11]) res = np.block([[a, b], [c, 12]]) print(res)

Результат выполнения кода:

[[ 1 2 3 7] [ 4 5 6 8] [ 9 10 11 12]]

Смотрите также

  • функцию concatenate,
    которая объединяет массивы вдоль существующей оси
  • функцию stack,
    которая объединяет массивы вдоль новой оси
  • функцию vstack,
    которая объединяет массивы вертикально (по строкам)
  • функцию hstack,
    которая объединяет массивы горизонтально (по столбцам)
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить