參考https://blog.csdn.net/LOUISLIAOXH/article/details/50207971的部落格學習下numpy選取元素的操作:
import numpy as np
arr = np.arange(10) # [0 1 2 3 4 5 6 7 8 9]
# 完整切片
# 取索引為0(包含)到索引為2(不包含)之間的元素且步長為1
print(arr[0:2:1]) # [0 1]
# 取索引為0(包含)到索引為10(不包含)之間的元素且步長為2
print(arr[0:10:2]) # [0 2 4 6 8]
# 切片省略步長
#取索引為0(包含)到索引為2(不包含)之間的元素
print(arr[0:2]) # [0,1],預設步長1
# 省略結束索引
print(arr[1::2]) # [1 3 5 7 9]
# 對比上一行,索引可以為10,這樣可以輸出9,如果索引制定1到9,則索引不包含9
# 不過print(arr[10])肯定下标越界的,切片索引和這個不一樣的
print(arr[1:9:2]) # [1 3 5 7]
print(arr[1:10:2]) # [1 3 5 7 9]
# 省略結束索引和步長,以下都是[1 2 3 4 5 6 7 8 9]
print(arr[1:])
print(arr[1::])
# 省略開始索引
print(arr[:2:1]) # [0 1],選取索引為0到2之間
# 省略開始索引及步長
print(arr[:2:]) # [0 1],選取索引為0到2之間
# 省略開始索引及結束索引
print(arr[::2]) # [0 2 4 6 8]
# 使用負數步長來翻轉數組
print(arr[::-1]) # [9 8 7 6 5 4 3 2 1 0]
# 二維數組
tmp = [[1, 2, 3, 4, 5, 6],
[7, 8, 9, 10, 11, 12],
[71, 81, 91, 101, 111, 121]]
arr2 = np.asarray(tmp)
'''
[[ 1 2 3 4]
[ 7 8 9 10]]
'''
print(arr2[0:2, 0:4])