Numpy攻略系列 高階索引機制

2021-07-09 14:44:09 字數 793 閱讀 4735

所謂高階索引就是不使用整數或者切片作為索引值,在這一節重點介紹三類高階索引:常規的高階索引,位置列表型高階索引,布林型高階索引的一類。

給定乙個矩陣,我們要求相關位置設定為特殊值,這裡我們就假定設定為0,高階索引不用通過一一按位置修改元素值。

我們的任務將對角線上面元素置為0,

索引用了兩個列表來代替了位置,實際上是c[list1[0],list2[0]],c[list1[1],list2[2]]……這個高階索引經常用在求解softmax的最大似然函式上面,可以參考deep learning tutorials中的logistic regression中nll求法

task:將lena影象對角線上的值置零操作。

步驟:將左上到右下的對角線數值置零:

lena[range(xmax),range(ymax)]=0

將左下到右上的對角線數值置零:

執行結果:

numpy高階索引

name arr np.array bob joe will bob joe will joe rnd arr np random.randn 7,4 print rnd arr print name arr bob true false false true false false false p...

Numpy陣列索引與切片 高階索引

有一些numpy中索引結果時候不太理解的地方,以後可以多多熟悉,熟悉後加以運用。import numpy as np a np.array 1,2,3 3,4,5 4,5,6 print a 1 第2列元素 print a 1,第2行元素 print a 1 第2列及剩下的所有元素整數陣列的索引 以...

深入了解NumPy 高階索引

更多程式設計教程請到 菜鳥教程 numpy 比一般的 python 序列提供更多的索引方式。除了之前看到的用整數和切片的索引外,陣列可以由整數陣列索引 布林索引及花式索引。整數陣列索引 以下例項獲取陣列中 0,0 1,1 和 2,0 位置處的元素。import numpy as np x np.ar...