(python数组切片) 详解NumPy数组的切片和切块
NumPy 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。在 NumPy 中,切片 (Slicing) 和切块 (Indexing) 是处理数组的重要方式。基本语法如下:arr[起始:结束:步长]。
NumPy 数组切片:
- 导入 NumPy 库:
import numpy as np
- 创建一个 NumPy 数组:
arr = np.arange(10)
- 使用切片获取数组中的某些元素:
print(arr[5]) # 获取索引为5的元素 print(arr[3:5]) # 获取索引区间[3, 5)的元素 print(arr[::2]) # 从头到尾,步长为2
NumPy 数组切块 (高级索引):
对于多维数组,可以使用整数数组进行索引。
- 创建一个多维数组:
arr2d = np.array([[1, 2], [3, 4], [5, 6]])
- 获取索引为(1,0) 和 (0,1)的元素:
print(arr2d[[1,0], [0,1]])
以上代码中的双方括号指的是先取得第1行和第0行,然后再从这些结果中取得0位置和1位置的元素。
- 利用布尔索引获取满足条件的元素:
print(arr2d[arr2d > 2]) # 获取大于2的元素
- 扩展到多维数组:
arr_3d = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]]]) print(arr_3d[0, 1:3, :]) # 针对3维数组,切片操作获取数据
在实际开发中,高级索引和基础索引可以允许我们灵活地获取和操作数组中的数据,有助于我们更好地实现数据处理和分析。
(sys) 详解sys.stderr(标准错误流对象)属性的使用方法 标准错误流处理:sys.stderr 全网首发(图文详解1)
(execute) python execute函数功能详解 Python执行函数:exec()和eval() 全网首发(图文详解1)