1. 程式人生 > >Python基礎 切片索引、布林索引、花式索引

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中的值沒有發生改變。