numpy 列表索引中 省略號和None的作用

這裏主要介紹了在2維列表中的操作,高維操作相同。

1.None的作用

     None的作用主要是在使用None的位置新增一個維度。

    例子:

a = np.arange(25).reshape(5,5)
print(a)
'''
[[ 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]]
'''
print(a[:,None])
'''
shape:5*1*5
[[[ 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]]]
'''

print(a[:,:,None])
'''
shape: 5*5*1
[[[ 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]]]
'''






2. 省略號的作用

    省略前面所有的 ‘:‘索引操作

    例子: 

print(a[...,2:5])
'''
[[ 2  3  4]
 [ 7  8  9]
 [12 13 14]
 [17 18 19]
 [22 23 24]]

'''

高維操作同理:

   如在三維情況下:

b = np.arange(16).reshape(2,2,4)
print(b)
'''
[[[ 0  1  2  3]
  [ 4  5  6  7]]

 [[ 8  9 10 11]
  [12 13 14 15]]]
'''
print(b[...,0:2])
'''
[[[ 0  1]
  [ 4  5]]

 [[ 8  9]
  [12 13]]]
'''
print(b[None,...].shape)
'''
(1, 2, 2, 4)

'''

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章