当前位置: 首页> 科技> 名企 > 手机可视化编程软件_建设人力资源网官网_如何建立自己的网站平台_软文网站模板

手机可视化编程软件_建设人力资源网官网_如何建立自己的网站平台_软文网站模板

时间:2025/7/11 8:22:16来源:https://blog.csdn.net/dundunmm/article/details/146028774 浏览次数:2次
手机可视化编程软件_建设人力资源网官网_如何建立自己的网站平台_软文网站模板

📌 NumPy ndarray 的索引与切片(Indexing & Slicing)

NumPy 提供 灵活高效 的索引与切片方式,支持 一维、二维、多维数组 的访问与操作。


1️⃣ 索引(Indexing)

索引用于访问 NumPy 数组中的 单个元素

一维数组索引

import numpy as nparr = np.array([10, 20, 30, 40, 50])print(arr[0])   # 访问第 1 个元素 -> 10
print(arr[-1])  # 访问最后 1 个元素 -> 50
print(arr[2])   # 访问索引 2 的元素 -> 30

二维数组索引

arr2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])print(arr2d[0, 1])  # 访问第 1 行第 2 列 -> 2
print(arr2d[2, -1]) # 访问最后 1 行最后 1 列 -> 9
  • arr2d[0, 1]:表示第 0 行、1 列
  • arr2d[2, -1]:表示 最后 1 行、最后 1 列(负索引)。

2️⃣ 切片(Slicing)

切片用于提取 数组的子集,语法如下:

array[start:stop:step]
  • start:起始索引(包含)。
  • stop:结束索引(不包含)。
  • step:步长(默认为 1)。

一维数组切片

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])print(arr[2:7])    # 取索引 2 到 6 -> [2 3 4 5 6]
print(arr[:5])     # 取前 5 个元素 -> [0 1 2 3 4]
print(arr[3:])     # 从索引 3 开始到结尾 -> [3 4 5 6 7 8 9]
print(arr[::2])    # 每隔 2 取一个 -> [0 2 4 6 8]
print(arr[::-1])   # 逆序数组 -> [9 8 7 6 5 4 3 2 1 0]

二维数组切片

arr2d = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])print(arr2d[:2, 1:3])  # 取前 2 行,第 2~3 列 -> [[2 3]#                        [6 7]]print(arr2d[1:, ::2])  # 从第 2 行开始,每隔 2 列取值 -> [[5 7]#                                [9 11]]print(arr2d[::-1, ::-1])  # 行和列都逆序 -> [[12 11 10 9]#                 [8 7 6 5]#                 [4 3 2 1]]

3️⃣ 高级索引(Boolean & Fancy Indexing)

NumPy 支持 布尔索引花式索引,可实现更复杂的数据提取。

(1) 布尔索引

arr = np.array([10, 20, 30, 40, 50])mask = arr > 25   # 返回布尔数组:[False False  True  True  True]
print(arr[mask])  # 取出大于 25 的元素 -> [30 40 50]# 直接写
print(arr[arr % 20 == 0])  # 取能被 20 整除的数 -> [20 40]

(2) 花式索引(Fancy Indexing)

arr = np.array([10, 20, 30, 40, 50])idx = [0, 3, 4]  # 选索引 0, 3, 4
print(arr[idx])  # -> [10 40 50]
arr2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])rows = [0, 1, 2]  # 选 3 行
cols = [2, 1, 0]  # 选 3 列
print(arr2d[rows, cols])  # -> [3 5 7]

📝 总结

操作语法示例说明
索引arr[2]访问索引 2 位置的元素
二维索引arr2d[1, 2]访问第 2 行第 3 列
切片arr[1:4]取索引 1 到 3(不含 4)
步长arr[::2]每隔 2 取 1 个
逆序arr[::-1]逆序数组
布尔索引arr[arr > 20]取大于 20 的元素
花式索引arr[[1, 3, 4]]取索引 1, 3, 4

NumPy 索引 & 切片 可实现高效数据操作 🚀

关键字:手机可视化编程软件_建设人力资源网官网_如何建立自己的网站平台_软文网站模板

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: