📂 目录

  • 高级索引简介
  • 布尔索引
  • 整数数组索引
  • 花式索引与切片
  • 出站链接
  • 参考资料

🎯 高级索引简介

NumPy 提供了几种高级索引方法,用于根据更复杂的条件选取数组中的元素。这些方法通常更灵活,能够处理多维数组以及更复杂的查询需求。


🔍 布尔索引

布尔索引允许你根据条件筛选数组的元素,返回符合条件的元素:

import numpy as np

a = np.array([10, 20, 30, 40, 50])
mask = a > 30  # 条件:选择大于 30 的元素
print(a[mask])  # 输出:[40 50]

布尔索引是数组筛选中非常强大的工具,尤其当你需要动态的筛选时。


🔢 整数数组索引

整数数组索引允许你通过索引列表或数组选择数组的多个元素:

a = np.array([10, 20, 30, 40, 50])
indices = [0, 2, 4]
print(a[indices])  # 输出:[10 30 50]

这种方法不仅可以用于一维数组,也可以用于多维数组:

b = np.array([[1, 2], [3, 4], [5, 6]])
indices = [0, 2]
print(b[indices])  # 输出:[ [1, 2], [5, 6] ]


🌟 花式索引与切片

花式索引允许你通过传递非连续的索引列表来选择数组中的元素。与切片不同,花式索引会返回数组的副本,而不是视图:

a = np.array([10, 20, 30, 40, 50])
print(a[[0, 3]])  # 输出:[10 40]

与此相似,你也可以结合切片进行复杂的索引操作:

b = np.array([[1, 2], [3, 4], [5, 6]])
print(b[[0, 2], 1])  # 输出:[2 6],选择第 0 和 2 行的第二列


🔗 出站链接


📚 参考资料

  • NumPy 官方文档
  • W3Schools Python NumPy 教程
  • GeeksForGeeks 深度讲解
  • 来自:www.52kanjuqing.com