NumPy 是一个 Python 包。 它代表 “Numeric Python”。它是一个由多维数组对象和用于处理数组的例程集合组成的库。这篇文章主要介绍了python numpy 数组的索引和切片,需要的朋友可以参考下 **Python NumPy 数组的索引和切片详解** NumPy 是 Python 语言中的一个核心库,主要用于科学计算,特别是涉及到大规模数据处理时。它的核心是多维数组对象(ndarray),提供了高效的数学运算和丰富的数组操作功能。本文将深入探讨 NumPy 数组的索引和切片操作。 ### 1. 一维数组 一维数组类似于 Python 的列表,但其性能更优,支持向量化操作。数组索引和切片的方法如下: ```python # 创建一维数组 arr1 = np.array(np.arange(9)) # 索引 arr1[-1] # 获取最后一个元素,这里是 8 arr1[arr1.size-2] # 获取倒数第二个元素,这里是 7 arr1[arr1.size-9] # 获取第一个元素,这里是 0 # 切片 arr1[1:4] # 获取索引为 1 到 3 的元素,不包括 4 arr1[1:5:2] # 获取索引为 1 和 3 的元素 arr1[::-1] # 反向获取所有元素,步长为 -1 ``` ### 2. 二维数组 二维数组可以理解为由多个一维数组构成的矩阵。二维数组的索引和切片操作如下: ```python # 创建二维数组 arr2 = np.array([np.arange(1, 4), np.arange(5, 8)]) # 索引 arr2[0][2] # 获取第一行第三列的元素,这里是 3 arr2[0, 2] # 与上面相同,这里使用的是索引元组 # 切片 arr2[0, ] # 获取第一行的所有元素 arr2[0, ::] # 获取第一行的所有元素,步长为 1 arr2[0, 0:3] # 获取第一行前两列的元素 ``` ### 3. 多维数组 多维数组可以扩展到任意维度,如三维、四维等。以下是一些示例: ```python # 创建三维数组 arr4 = np.arange(1, 25).reshape(2, 3, 4) # 索引 arr4[1][2][2] # 获取第二层第三维的第三个元素,这里是 23 arr4[1, 1, 1] # 与上面相同,这里使用的是索引元组 # 切片 arr4[1, 1, ] # 获取第二层第二维的所有元素 arr4[1, 1, ::] # 获取第二层第二维的所有元素,步长为 1 arr4[1, 1, ::-1] # 获取第二层第二维的所有元素,反向取值 arr4[0, 1:3] # 获取第一层第二和第三维的所有元素 arr4[:1, 1] # 获取第一层第二列的所有元素 arr4[1,:,2] # 获取所有层的第三维的第二个元素 arr4[1,...] # 获取第二层的所有元素 arr4[0,::-1,-1] # 获取第一层反向的第四列 arr4[:,:,-1][::-1][:,-1] # 获取所有层的最后一列,然后反向取值 ``` ### 总结 NumPy 的数组索引和切片提供了灵活且高效的方式访问和操作数组数据。通过索引可以精确地获取单个元素,而切片则能方便地获取数组的一部分。在处理多维数组时,可以通过索引元组或者步长控制来获取不同维度的数据。理解这些操作对于在 Python 中进行科学计算和数据分析至关重要。在实际应用中,结合 NumPy 的其他功能,如数组运算、线性代数和随机数生成,可以极大地提升代码的效率和可读性。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 7
- 资源: 946
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
- 1
- 2
前往页