使用Numpy返回陣列的上三角矩陣,並將主對角線元素置零


要返回陣列的上三角矩陣,請在 Python Numpy 中使用 **numpy.triu()** 方法。

  • 第一個引數是輸入陣列。
  • 第二個引數是 'k',即要將元素置零的對角線上方。

這裡,k = 0(預設值)為主對角線,k < 0 在其下方,k > 0 在其上方。陣列。k = 1 的值也是將主對角線置零。該函式返回一個數組的副本,其中 k-th 對角線以下的元素被置零。對於維度超過 2 的陣列,triu 將應用於最後兩個軸。

步驟

首先,匯入所需的庫。

import numpy as np

建立一個二維陣列。

arr = np.array([[36, 36, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])

顯示我們的陣列。

print("Array...
",arr)

獲取資料型別。

print("
Array datatype...
",arr.dtype)

獲取陣列的維度。

print("
Array Dimensions...
",arr.ndim)

獲取陣列的形狀。

print("
Our Array Shape...
",arr.shape)

獲取陣列的元素數量。

print("
Elements in the Array...
",arr.size)

使用 Python Numpy 中的 numpy.triu() 方法返回陣列的上三角矩陣。第二個引數是 'k',即要將元素置零的對角線上方。

print("
Result...
",np.triu(arr, k = 1))

示例

import numpy as np

# Create a 2d array
arr = np.array([[36, 36, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69], [69, 80, 80, 99]])

# Displaying our array
print("Array...
",arr) # Get the datatype print("
Array datatype...
",arr.dtype) # Get the dimensions of the Array print("
Array Dimensions...
",arr.ndim) # Get the shape of the Array print("
Our Array Shape...
",arr.shape) # Get the number of elements of the Array print("
Elements in the Array...
",arr.size) # To return the upper triangle of an array, use the numpy.triu() method in Python Numpy # The 1st parameter is the input array # The 2nd parameter is the 'k' i.e. the diagonal above which to zero elements. # k = 0 (the default) is the main diagonal, k < 0 is below it and k > 0 is above.' array # The k = 1 value is to zero the main diagonal as well print("
Result...
",np.triu(arr, k = 1))

輸出

Array...
[[36 36 78 88]
[92 81 98 45]
[22 67 54 69]
[69 80 80 99]]

Array datatype...
int64

Array Dimensions...
2

Our Array Shape...
(4, 4)

Elements in the Array...
16

Result...
[[ 0 36 78 88]
[ 0 0 98 45]
[ 0 0 0 69]
[ 0 0 0 0]]

更新於: 2022年2月17日

627 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.