背景
NumPy(Numerical Python)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 是一个运行速度非常快的数学库,主要用于数组计算。以下是numpy对多维数组进行切片和索引操作的总结。
NumPy 切片和索引
- ndarray对象的内容可以通过索引或切片来访问和修改,与Python中list的切片操作一样。
实例
1 | import numpy as np |
Numpy高级索引
- NumPy比一般的Python序列提供更多的索引方式。除了之前看到的用整数和切片的索引外,数组可以由整数数组索引、布尔索引及花式索引。
整数数组索引
实例
1 | import numpy as np |
布尔索引
- 布尔索引通过布尔运算(如:比较运算符)来获取符合指定条件的元素的数组。
实例
1 | import numpy as np |
花式索引
- 花式索引指的是利用整数数组进行索引。
- 花式索引根据索引数组的值作为目标数组的某个轴的下标来取值。对于使用一维整型数组作为索引,如果目标是一维数组,那么索引的结果就是对应位置的元素;如果目标是二维数组,那么就是对应下标的行。
- 花式索引跟切片不一样,它总是将数据复制到新数组中。
1、传入顺序索引数组
实例
1 | import numpy as np |
2、传入倒序索引数组
实例
1 | import numpy as np |
3、传入多个索引数组(要使用np.ix_)
实例
1 | import numpy as np |