NumPy 陣列切片
陣列切片
Python 中的切片意味著從一個給定索引到另一個給定索引獲取元素。
我們使用切片而不是索引,如下所示: [start:end]
。
我們還可以定義步長,如下所示: [start:end:step]
。
如果我們不指定 start,則預設為 0
如果我們不指定 end,則預設為該維度陣列的長度
如果我們不指定 step,則預設為 1
示例
從以下陣列的索引 1 到索引 5 切片元素
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5])
自己動手試一試 »
注意: 結果包括起始索引,但不包括結束索引。
示例
從開頭到索引 4(不包括)切片元素
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[:4])
自己動手試一試 »
負數切片
使用負號引用末尾的索引
示例
從末尾的索引 3 到末尾的索引 1 切片
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[-3:-1])
自己動手試一試 »
步長
使用 step
值來確定切片的步長
示例
從索引 1 到索引 5,每隔一個元素返回一次
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5:2])
自己動手試一試 »
示例
從整個陣列中每隔一個元素返回一次
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[::2])
自己動手試一試 »
切片二維陣列
示例
從第二個元素開始,從索引 1 到索引 4(不包括)切片元素
import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[1, 1:4])
自己動手試一試 »
注意: 請記住,第二個元素的索引是 1。
示例
從兩個元素返回索引 2
import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[0:2, 2])
自己動手試一試 »
示例
從兩個元素,切片索引 1 到索引 4(不包括),這將返回一個二維陣列
import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[0:2, 1:4])
自己動手試一試 »