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 ...