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


Python numpy.diag_indices()用法及代碼示例


numpy.diag_indices(n,n_dim = 2):返回索引以便訪問最小維數= 2的數組的主對角線元素。以元組形式返回索引。
訪問數組的主對角線。

參數:

n : size of array, for which indices of diag elements are required along each dimension
n_dim  : [int, optional]number of dimensions. 

返回:


Indices(as tuples) to access diagonal elements.

代碼1:

# Python Program illustrating 
# working of diag_indices() 
  
import numpy as geek  
  
# Creates a 5 X 5 array and returns indices of 
# main diagonal elements 
d = geek.diag_indices(5) 
print("Indices of diagnol elements as tuple : ") 
print(d, "\n") 
  
array = geek.arange(16).reshape(4,4) 
print("Initial array : \n", array) 
  
# Here we can manipulate diagonal elements 
# by accessing the diagonal elements 
d = geek.diag_indices(4) 
array[d] = 25
print("\n New array : \n", array)

輸出:

Indices of diagnol elements as tuple : 
(array([0, 1, 2, 3, 4]), array([0, 1, 2, 3, 4])) 

Initial array : 
 [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]

 New array : 
 [[25  1  2  3]
 [ 4 25  6  7]
 [ 8  9 25 11]
 [12 13 14 25]]

代碼2:操縱2D數組

# Python Program illustrating 
# working of diag_indices() 
  
import numpy as geek  
  
# Manipulating a 2D array  
d = geek.diag_indices(3, 2) 
  
array = geek.arange(12).reshape(4, 3) 
  
array[d] = 111
print("Manipulated array : \n", array)

輸出:

Manipulated array : 
 [[111   1   2]
 [  3 111   5]
 [  6   7 111]
 [  9  10  11]]

代碼3:操縱3D陣列

# Python Program illustrating 
# working of diag_indices() 
  
import numpy as geek  
  
# Setting diagonal indices 
d = geek.diag_indices(1, 2) 
print("Diag indices : \n", d) 
  
# Creating a 3D array with all ones 
array = geek.ones((2, 2, 2), dtype=geek.int) 
print("Initial array : \n", array) 
  
# Manipulating a 3D array  
array[d] = 0
print("New array : \n", array)

輸出:

Diag indices : 
 (array([0]), array([0]))
Initial array : 
 [[[1 1]
  [1 1]]

 [[1 1]
  [1 1]]]
New array : 
 [[[0 0]
  [1 1]]

 [[1 1]
  [1 1]]]

參考文獻:
https://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.diag_indices.html

注意:
這些代碼無法在online-ID上運行。請在您的係統上運行它們以探索其工作原理。



相關用法


注:本文由純淨天空篩選整理自 numpy.diag_indices() in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。