Функция NumPy triu() используется для получения копии матрицы с обнуленными элементами ниже k-й диагонали. Диагональ, выше которой обнуляются элементы: k = 0(по умолчанию) — главная диагональ, k<0 — ниже, k>0 — выше.
Что такое функция Numpy Triu() в Python?
Numpy triu() — это библиотечная функция, используемая для возврата копии матрицы массива с элементом верхней части треугольника относительно k в Python. Метод triu() принимает два параметра и возвращает верхний треугольник матрицы массива.
Функция triu() определена в numpy, которую можно импортировать как import numpy as np, и мы можем создавать многомерные массивы и получать другую математическую статистику с помощью numpy, библиотеки на Python.
Синтаксис
|
1 |
numpy.triu(array, k=0) |
Параметры
Функция принимает два параметра, один из которых необязательный.
- Первый параметр — это массив, который принимает входной массив.
- Второй параметр — k, необязательный. Это целочисленное значение, имеющее значение 0 по умолчанию. K>0 представляет собой диагональ выше главной диагонали, и то же самое происходит наоборот для K<0.
Возвращаемое значение
Функция triu() возвращает верхний треугольник матрицы массива, который имеет тот же тип данных и ту же форму, что и основной массив.
Примеры программ с методом triu() в Python
- Напишем программу, показывающую работу функции triu() в Python.
|
1 2 3 4 5 6 7 |
import numpy as np arr = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print("Main Diagonal elements(for k=0) : \n", np.triu(arr), "\n") print("Diagonal above main Diagonal elements(For k=1): \n", np.triu(arr, 1), "\n\n") print("Main Diagonal elements(For k=-1) : \n", np.triu(arr, -1)) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Main Diagonal elements(for k=0) : [[1 2 3] [0 5 6] [0 0 9]] Diagonal above main Diagonal elements(For k=1): [[0 2 3] [0 0 6] [0 0 0]] Main Diagonal elements(For k=-1) : [[1 2 3] [4 5 6] [0 8 9]] |
В приведенном выше примере мы видим, что обходя разные значения k, мы получаем разные верхние треугольники в соответствии с диагональю матрицы.
- Напишем программу, которая берет матрицу 4 × 4, а затем применяет функцию triu.
|
1 2 3 4 5 6 7 8 |
import numpy as np arr = np.matrix([[1, 2, 3, 22], [4, 5, 6, 33], [7, 8, 9, 44], [10, 11, 12, 13]]) print("Main Diagonal elements(for k=0) : \n", np.triu(arr), "\n") print("Diagonal above main Diagonal elements(For k=1): \n", np.triu(arr, 1), "\n\n") print("Main Diagonal elements(For k=-1) : \n", np.triu(arr, -1)) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Main Diagonal elements(for k=0) : [[ 1 2 3 22] [ 0 5 6 33] [ 0 0 9 44] [ 0 0 0 13]] Diagonal above main Diagonal elements(For k=1): [[ 0 2 3 22] [ 0 0 6 33] [ 0 0 0 44] [ 0 0 0 0]] Main Diagonal elements(For k=-1) : [[ 1 2 3 22] [ 4 5 6 33] [ 0 8 9 44] [ 0 0 12 13]] |
В приведенном выше примере мы видим, что когда передаем матрицу 4 × 4, получаем выходную матрицу соответственно для разных значений k.
Первая матрица для k=0, Вторая матрица для k=1, а третья для k=-1. Метод устанавливает значения, отличные от верхней части главной диагонали, как 0.
