【468】numpy 數組獲取對角線數值


數組的索引也可以通過數組來添加

>>> a = np.arange(0, 25)
>>> a.reshape(5, 5)
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24]])
>>> a = a.reshape(5, 5)	      

# 5*5矩陣
>>> a      
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24]])

# 對角線 左上-右下
>>> a[np.arange(5), np.arange(5)]
array([ 0,  6, 12, 18, 24])

# 行
>>> a[1, np.arange(5)]  
array([5, 6, 7, 8, 9])
>>> a[1]
array([5, 6, 7, 8, 9])
>>> a[1, :]
array([5, 6, 7, 8, 9])

# 列
>>> a[:, 1]
array([ 1,  6, 11, 16, 21])
>>> a[np.arange(5), 1]
array([ 1,  6, 11, 16, 21])

# 對角線 右上-左下
>>> a[np.arange(5), 4 - np.arange(5)]	      
array([ 4,  8, 12, 16, 20])

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM