當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python NumPy fill_diagonal方法用法及代碼示例


Numpy 的 fill_diagonal(~) 方法為 Numpy 數組的對角線設置指定值。請注意,這是就地發生的,即不會創建新數組。

參數

1. a | array-like

輸入數組。

2. val | scalar

填充對角線所需的值。

3. wrap | boolean | optional

對於行數多於列數的二維數組(即高矩陣),我們可以重複填充對角線。請參閱示例以進行說明。默認情況下,wrap=False

返回值

無 - 對角線就地填充。

例子

基本用法

考慮以下二維數組:

a = np.array([[5,6],[7,8]])
a



array([[5, 6],
       [7, 8]])

用值 2 填充對角線:

np.fill_diagonal(a, 2)
a



array([[2, 6],
       [7, 2]])

高矩陣

考慮以下高二維數組:

a = np.array([[1,1],[1,1],[1,1],[1,1],[1,1]])
a



array([[1, 1],
       [1, 1],
       [1, 1],
       [1, 1],
       [1, 1]])
不帶包裝

默認情況下,沒有環繞行為,因此隻會填充主對角線:

np.fill_diagonal(a, 0)
a



array([[0, 1],
       [1, 0],
       [1, 1],
       [1, 1],
       [1, 1]])
帶包裝

要啟用包裝行為,請像這樣設置wrap=True

np.fill_diagonal(a, 0, wrap=True)
a



array([[0, 1],
       [1, 0],
       [1, 1],
       [0, 1],
       [1, 0]])

請注意在填充下一個對角線之前如何跳過單行。

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 NumPy | fill_diagonal method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。