ndarray數(shù)組有很多種方式讓你選中數(shù)據(jù)的子集或某個(gè)單個(gè)元素
- 一維數(shù)組與python列表類(lèi)似
>>>a = np.arange(10)
>>>print(a)
>>>print(a[5]) ---通過(guò)下表取值
5
>>>print(a[5:8]) --- 通過(guò)切片選取范圍
[5 6 7]
- 給數(shù)組的切片賦值,數(shù)組被傳遞給了整個(gè)切片。區(qū)別于python的內(nèi)置列表,數(shù)組的切片是原數(shù)組的視圖(因?yàn)閚umpy被設(shè)計(jì)成適合處理非常大的數(shù)組),這意味著數(shù)據(jù)并不是被復(fù)制了,任何對(duì)于視圖的修改都會(huì)反映到原數(shù)組上.
>>>a[5:8] = 13
>>>print(a)
[ 0 1 2 3 4 13 13 13 8 9]
>>>b = a[5:8]
>>>b[0] = 1111111
>>>print(a)
[ 0 1 2 3 4 1111111 13 13 8 9]
- 如果你需要復(fù)制數(shù)組,那你需要顯示使用copy()方法
>>>b = a[5:8].copy()
>>>b[1] = 333333
>>>print(b)
[1111111 333333 13]
>>>print(a)
[ 0 1 2 3 4 1111111 13 13 8 9]