Python基础 切片索引、布尔索引、花式索引

切片索引、布尔索引、花式索引是数组的三种索引方式,但三者对于原数据的影响是不同的:

1)切片索引

#切片索引  切片是原结构的照片  改变切片中的元素  原结构跟着改变
a = np.arange(15).reshape(5,3)
print(a)
b1 = a[:2,2]
print()
print(b1)
b1[0] = 16
print(a)

结果为:

可见修改b1中的数据,会发现原数据a中的值发生改变。

2)布尔索引

#布尔索引  用布尔索引总是会返回一份新创建的数据,原本的数据不会被改变。
a2 = np.arange(15).reshape(3,5)
print(a2)
mask = a2<5
b2 = a2[mask]
print()
print(b2)
b2[0] = 17
print(a2)

结果为:

修改b2中的数据,会发现原数据a2中的值没有发生改变。

3)花式索引

#花式索引 得到的是一个新的array,不会改动原数据
a3 = np.arange(15).reshape(3,5)
print(a3)
b3 = a3[[0,1],[1,3]]
print()
print(b3)
b3[0] = 16
print(a3)

结果为:

修改b3中的数据,会发现原数据a3中的值没有发生改变。

猜你喜欢

转载自blog.csdn.net/dake13/article/details/81302450
今日推荐