Numpy列表數組索引:arr[:][li]和arr[:,li]之間的區別

以下行為的解釋是什么:

import numpy as np    
arr = np.zeros((3, 3))
li = [1,2]
print('output1:', arr[:, li].shape)
print('output2:', arr[:][li].shape)

>>output1: (3, 2)
>>output2: (2, 3)

我希望output2等于output1。

? 最佳回答:

讓我們使用一個更容易看出差異的不同數組:

>>> arr = np.arange(9).reshape(3, 3)
>>> arr
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

第一種情況arr[:, li]將從第一個維度中選擇所有元素(在本例中為所有行),然后使用[1, 2]對數組進行索引,這意味著省略第一列:

array([[1, 2],
       [4, 5],
       [7, 8]])

因此,它的形狀是(3,2)。

另一種情況arr[:]將復制原始數組,因此它不會改變形狀,因此它與arr[li]等價,因此輸出形狀是(2, 3)。一般來說,應該避免對數組進行雙重索引,因為這樣可能會創建兩次視圖,這是低效的。

主站蜘蛛池模板: 国产在线精品一区二区高清不卡| 国产亚洲一区二区在线观看| 日本一区精品久久久久影院| 3D动漫精品啪啪一区二区下载| 国产成人高清精品一区二区三区| 无码中文字幕一区二区三区| 久久精品国产一区| 一区二区中文字幕在线观看| 国产精品无码一区二区三区毛片| 亚洲Av无码一区二区二三区| 亚洲熟妇av一区二区三区 | а天堂中文最新一区二区三区| 亚洲宅男精品一区在线观看| 久久久久久人妻一区精品| 国模精品一区二区三区| 琪琪see色原网一区二区| 国产免费av一区二区三区| 精品亚洲av无码一区二区柚蜜| 国产美女在线一区二区三区| 日韩人妻一区二区三区免费 | 91久久精品国产免费一区| 日本不卡一区二区三区视频| 综合久久一区二区三区| 夜夜添无码一区二区三区| 国产在线精品一区二区在线观看| 国产色情一区二区三区在线播放| 国内国外日产一区二区| 精品一区二区久久久久久久网站| 一区二区三区观看免费中文视频在线播放 | 国产在线观看一区二区三区精品 | 成人国内精品久久久久一区| 无码精品人妻一区二区三区影院 | 亚洲一区在线免费观看| 91大神在线精品视频一区| 亚洲一区二区三区在线观看网站 | 日本精品高清一区二区| 日韩精品无码一区二区三区| 日日摸夜夜添一区| 国产成人AV区一区二区三 | 精产国品一区二区三产区| 在线免费视频一区二区|