1. 本文介绍
-
Ⅰ 普通索引+切片; -
Ⅱ 通过整数数组进行索引(这个比较有用); -
Ⅲ 通过布尔数组进行索引;
2. 普通索引+切片
print(a)
a[1,2]
a[1,:]
3. 通过整数数组进行索引
-
当要选取的元素不连续时,可以提供一个索引数组来选择(或修改)对应索引位置的元素。 -
通过整数数组索引,返回的是原数组的拷贝,而不是视图。
print(a)
print(a)b = a[[1,3]]
print(b)b[1,2] = 888
print(b)
print(a)
4. 通过布尔数组进行索引
-
含义:我们可以提供一个布尔类型的数组(A),然后通过该数组(A)来对另外一个数组(B)进行索引(元素选取)。索引的原则为:如果为True,则选取对应位置的元素,否则不选取。 -
作用:通过布尔类型的数组进行索引是常见且实用的操作,我们通常用来进行元素选择(或过滤)操作。
① 通过布尔数组取一维数组中的元素
print(a)a1 = a[[True,True,False,True,False,False,True]]
print(a1)bool_index = a > 15
print(bool_index)
a2 = a[bool_index]
print(a2)
② 通过布尔数组取二维数组中的元素
print(b)# 这个表示选取第1,2,4行;
b1 = b[[True,True,False,True,False]]
print(b1)bool_index = b > 20
print(bool_index)
b2 = b[bool_index]
print(b2)
③ 构造布尔数组的几种常用的运算符
print(c)c1 = c[c>25]
print(c1)c2 = c[(c>20) & (c<35)]
print(c2)
c3 = c[(c<20) | (c>40)]
print(c3)
c4 = c[~(c>40)]
print(c4)
④ 取出两个数组中相同的元素
b = np.array([1, 8, 6, 10])# 对应位置的元素,会进行比较;
print(a[a == b])