先将模块导入文件中
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, :])
来源: http://www.bubuko.com/infodetail-3282536.html