淮安做网站的有多少,婚纱摄影网站设计论文,wordpress安装主题链接路径,东胜网站建设目录 一、切片#xff08;Slicing#xff09;
二、NumPy 高级索引详解
1. 布尔型索引
2. 列表/数组索引
3. 花式索引 (Fancy Indexing)
4. 元组索引
三、结合切片与高级索引 一、切片#xff08;Slicing#xff09; 切片操作允许访问数组的子集。在 NumPy 中#xf…目录 一、切片Slicing
二、NumPy 高级索引详解
1. 布尔型索引
2. 列表/数组索引
3. 花式索引 (Fancy Indexing)
4. 元组索引
三、结合切片与高级索引 一、切片Slicing 切片操作允许访问数组的子集。在 NumPy 中可以对多维数组进行切片就像处理一维数组一样简单。
import numpy as np# 创建一个一维数组
arr np.arange(10)
# 切片获取索引1到6之间的元素
slice_arr arr[1:7]
print(slice_arr) # 输出: [1 2 3 4 5 6]# 创建一个二维数组
arr_2d np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 切片获取第一行的第二和第三个元素
slice_arr_2d arr_2d[0, 1:]
print(slice_arr_2d) # 输出: [2 3]
二、NumPy 高级索引详解
1. 布尔型索引
布尔型索引允许我们根据条件选取数组中的元素。例如假设有一个一维数组 arr
import numpy as np
arr np.array([4, 2, 9, 6, 7, 3])
创建一个布尔向量并用其作为索引来获取满足条件的元素
mask arr 5
selected arr[mask]
selected 将包含大于5的所有元素。
2. 列表/数组索引
在多维数组中可以使用整数列表或数组来进行索引。这允许你直接指定需要提取的元素位置。
multi_arr np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
indices [0, 2] # 指定行索引
selected_rows multi_arr[indices]
selected_rows 将包含第0行和第2行的内容。
3. 花式索引 (Fancy Indexing)
花式索引允许使用非连续或者非顺序的索引集合。它可以用于一维或多维数组。
fancy_indices [1, 3, 2, 0]
shuffled_arr multi_arr[fancy_indices]
shuffled_arr 将按照给定的顺序重新排列数组的行。
4. 元组索引
在多维数组中可以使用元组形式的索引来选择特定的子区域。
slice_of_multi_arr multi_arr[1:3, 1:3] # 等效于 multi_arr[(1, 2), (1, 2)]
这里选择了第1至第2行和第1至第2列的子矩阵。
三、结合切片与高级索引
在实践中可以组合使用切片与高级索引以实现更复杂的操作。例如
mixed_indexing multi_arr[[0, 2], 1:3:2] # 结合了列表索引和切片
这里首先选择了第0行和第2行然后在每一行上取第1列和第3列由于步长为2所以只取到了第3列