鍍金池/ 問答/數(shù)據(jù)分析&挖掘  Python/ numpy索引練習,求指點

numpy索引練習,求指點

請大神給解釋一下,這個a[i,j]的結果都是怎么從a里取出來的,我怎么沒看懂[i,j]表示的意思

圖片描述

回答
編輯回答
她愚我

感謝β_3000的啟發(fā),原來好多東西在紙上畫畫就會清楚很多。

a = arange(12).reshape(3,4)
i = array( [ [0,1],    
             [1,2] ] )
j = array( [ [2,1], 
             [3,3] ] )
print(a[i])             
print(a[i,j])   

a是一個二維數(shù)組,用二維數(shù)組i索引后竟然變成一個三維數(shù)組,如圖:
那么a[i,j]就是在a[i]上再按j索引一次?我不知道對不對,至少從結果上看是對了。
圖片描述

2017年1月4日 22:38
編輯回答
笨小蛋

把它帶進去就是

a[    [[0,1],[1,2]],
      [[2,1],[3,3]]    ]

進行上下對應取索引為[0,2],[1,1]這兩個元素作為第一行;取索引為[1,3],[2,3]這兩個元素作為第二行,得到輸出結果

這種索引方法屬于花式索引的一種,很迷,我都是規(guī)律理解出來的,不太清楚原理
這是我當時學numpy的自己的理解,你看一下明不明白,如果是三維的話就接收三個參數(shù)以此類推
圖片描述

2018年8月19日 03:45