在NumPy中,有几种常见的数组索引方式:
-
索引单个元素:可以使用方括号
[]
来索引单个元素,指定元素的位置。例如,对于一个二维数组arr
,可以使用arr[row_index, column_index]
来获取指定位置的元素。 -
切片索引:使用切片操作
:
可以获取数组的一个子集。切片操作可以用于一维和多维数组,以及不同轴向上的切片。例如,对于一个一维数组arr
,可以使用arr[start:end:step]
来获取从start
到end-1
的元素,步长为step
。对于一个二维数组arr
,可以使用arr[start1:end1:step1, start2:end2:step2]
来获取行范围为start1:end1-1
,列范围为start2:end2-1
的子集。 -
整数数组索引:可以使用一个整数数组来索引数组的元素。整数数组的每个元素表示要获取的元素在对应轴上的位置。例如,对于一个一维数组
arr
,可以使用一个整数数组idx
来获取arr[idx]
中的元素。对于一个二维数组arr
,可以使用两个整数数组idx1
和idx2
来获取arr[idx1, idx2]
中的元素。 -
布尔数组索引:可以使用一个布尔数组来索引数组的元素。布尔数组的每个元素表示对应位置上的元素是否被选中。例如,对于一个一维数组
arr
,可以使用一个布尔数组mask
来获取arr[mask]
中为True
的元素。对于一个二维数组arr
,可以使用一个布尔数组mask
来获取arr[mask]
中为True
的元素。
这些索引方式可以组合使用,以满足不同的需求。