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

Метод diagonal

Метод diagonal класса ndarray извлекает диагональные элементы из двумерного массива. По умолчанию возвращается главная диагональ (от левого верхнего угла до правого нижнего). Метод позволяет смещать диагональ вверх или вниз с помощью параметра offset.

Синтаксис

arr.diagonal(offset=0, axis1=0, axis2=1)

Параметры метода:

offset - смещение диагонали относительно главной. Положительное значение смещает диагональ вверх (правее главной), отрицательное - вниз (левее главной). По умолчанию равен 0.

axis1 и axis2 - оси, по которым извлекается диагональ. По умолчанию используются последние две оси массива. Для двумерных массивов эти параметры можно не указывать.

Пример

Давайте создадим квадратную матрицу и извлечём главную диагональ:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) res = arr.diagonal() print(res)

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

[1 5 9]

Пример

Теперь получим диагональ со смещением вверх на единицу:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) res = arr.diagonal(offset=1) print(res)

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

[2 6]

Обратите внимание, что диагональ короче главной, так как она смещена и содержит меньше элементов.

Пример

Извлечём диагональ со смещением вниз на единицу:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) res = arr.diagonal(offset=-1) print(res)

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

[4 8]

В этом случае элементы берутся с диагонали, расположенной под главной.

Пример

Рассмотрим работу метода с прямоугольной матрицей:

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

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

[1 6 11]

Для прямоугольной матрицы длина диагонали определяется минимальным размером массива.

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

  • метод trace,
    который вычисляет сумму диагональных элементов
  • атрибут shape,
    который возвращает размерность массива
  • метод transpose,
    который транспонирует массив
  • функцию diag,
    которая извлекает диагональ или создаёт диагональную матрицу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить