NumPy學習筆記07 切片和索引

2021-09-28 18:48:35 字數 1912 閱讀 4803

ndarray物件的內容可以通過索引或切片來訪問和修改,與 python 中 list 的切片操作一樣。

ndarray 陣列可以基於 0 - n 的下標進行索引,切片物件可以通過內建的 slice 函式,並設定 start, stop 及 step 引數進行,從原陣列中切割出乙個新陣列。

import numpy as np

a = np.arange(10)

s =slice(2

,7,2

)# 從索引2開始到索引7停止,間隔為2

print

(a[s]

)

[2 4 6]
也可以通過冒號分隔切片引數start:stop:step來進行切片操作:

import numpy as np

a = np.arange(10)

b = a[2:

7:2]

# 從索引2開始到索引7停止,間隔為2

print

(b)

[2 4 6]
# 指定索引

import numpy as np

a = np.arange(10)

b = a[5]

print

(b)

5
# 冒號後不指定,之後的全部索引

import numpy as np

a = np.arange(10)

b = a[2:

]print

(b)

[2 3 4 5 6 7 8 9]
# 不指定step

import numpy as np

a = np.arange(10)

print

(a[2:5

])

[2 3 4]
多維陣列同樣適用上述索引提取方法:

import numpy as np

a = np.array([[

1,2,

3],[

3,4,

5],[

4,5,

6]])

print

(a)# 從某個索引處開始切割

print

('從陣列索引a[1:]處開始切割'

)print

(a[1:]

)

[[1 2 3]

[3 4 5]

[4 5 6]]

從陣列索引a[1:]處開始切割

[[3 4 5]

[4 5 6]]

切片還可以包括省略號 …,來使選擇元組的長度與陣列的維度相同。 如果在行位置使用省略號,它將返回包含行中元素的 ndarray。

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列及剩下的所有元素

[2 4 5]

[3 4 5]

[[2 3]

[4 5]

[5 6]]

學習參考:

numpy 索引和切片

一 取行 1 單行 陣列 index,取第index 1行 例子import numpy as np arr1 np.arange 0,24 reshape 4,6 取第2行資料 row1 arr1 1,print row1 2 連續的多行 陣列 start end 顧頭不顧尾,也可以使用步長,不過...

NumPy 切片和索引

import numpy asnp a np.arange 10,20,1 b slice 1,5,2 d a 1 5 2 e a 2 print a print a b print d print e 結果 1011 1213 1415 1617 1819 1113 1113 1213 1415 ...

初探numpy 切片和索引

import numpy as np 使用切片引數start stop step來進行切片操作 a array np.arange 10 print a array,n b array a array 1 10 2 print b array,n c array a array 2 print c ...