先将模块导入文件中
import numpy as np
创建一个数组
arr = np.arange(1, 10)
1、使用单独的下标索引
print("获取元素", arr[2])
使用单独的下标索引将会降低数组的维度
2、使用下标列表索引
print("获取元素", arr[[1, 3, 5, 7]])
使用下标列表索引,不会降低维度
3、使用切片进行索引
print("切片获取元素:", arr[2:3])
使用切片进行索引,不会降低维度
4、二维数组的索引以及混合索引
创建一个二维数组
arr = np.arange(1, 17).reshape((4, 4))
(1)使用下标索引
print("获取到的元素:", arr[0, 1])
arr[行, 列],使用一次下标,将会降低一次索引
(2)使用切片索引
print("使用切片获取到的元素:", arr[0:1, 1:2])
(3)使用下标列表索引
print("使用下标列表来获取多个元素:\n", arr[[1, 2], [1, 2]]) print("使用下标列表来获取多个元素:\n", arr[[1, 2, 3], [1, 2]]) # 错误的,前后的下标列表必须一致
使用下标列表对二维数组进行索引,将获取下标列表对角线两端的元素组成的数组;行列表和列列表元素个数需要一致
(4)使用下标和切片混合索引
print("使用下标和切片获取到的元素:", arr[0, 1:2])
(5)使用下标和下标列表混合索引
print("使用下标和下标列表获取多个元素的结果:\n", arr[1, [1, 2, 3])
(6)使用下标列表和切片混合索引
print("使用下标和切片获取多个元素的结果:\n", arr[[1, 2], 1:3])
5、多维数组的索引
""" 三维 arr ---> 怎么索引元素??arr[块,行,列] 四维 arr ---> 怎么索引元素??arr[堆,块,行,列] N维 arr ----> 怎么索引元素?? arr[n-1个逗号],每一个逗号都是切的对应维度 """
6、使用bool数组索引
# 创建一个数组 arr = np.arange(1, 10).reshape((3, 3)) bool_mask = np.array([0, 1, 2], dtype=np.bool) print("bool_mask:\n", bool_mask) # 利用bool数组来进行切片 --- 选择True,丢掉False print("利用bool数组来进行切片:\n", arr[bool_mask, :])