国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

numpy中索引和切片詳解

2020-02-16 11:07:32
字體:
來源:轉載
供稿:網友

索引和切片

一維數組

一維數組很簡單,基本和列表一致。

它們的區別在于數組切片是原始數組視圖(這就意味著,如果做任何修改,原始都會跟著更改)。

這也意味著,如果不想更改原始數組,我們需要進行顯式的復制,從而得到它的副本(.copy())。

import numpy as np #導入numpyarr = np.arange(10) #類似于list的range()arrOut[3]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])arr[4] #索引(注意是從0開始的)Out[4]: 4arr[3:6] #切片Out[6]: array([3, 4, 5])arr_old = arr.copy() #先復制一個副本arr_oldOut[8]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])arr[3:6] = 33arr #可以發現將標量賦值給一個切片時,該值可以傳播到整個選區Out[10]: array([ 0, 1, 2, 33, 33, 33, 6, 7, 8, 9])arr_oldOut[11]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

二維數組

二維數組中,各索引位置上的元素不再是標量,而是一維數組(好像很難理解哈)。

arr1 = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])arr1[0]Out[13]: array([1, 2, 3])arr1[1,2]Out[14]: 6

好像很難理解,是吧。

那這樣看:

array([[1, 2, 3],    [4, 5, 6],    [7, 8, 9]])

想到了什么?咱們當做一個平面直角坐標系。

相當于arr1[x,y],x相當于行數,y相當于列數(必須聲明,圖中x和y標反了,但不影響理解)。

多維數組

先說明下reshape()更改形狀:

np.reshape(a,newshape,order='C')

a:array_like以一個數組為參數。

newshape:intortupleofints。整數或者元組

順便說明下,np.reshape()不更改原數組形狀(會生成一個副本)。

arr1 = np.arange(12)arr2 = arr1.reshape(2,2,3) #將arr1變為2×2×3數組arr2Out[9]: array([[[ 0, 1, 2],    [ 3, 4, 5]],    [[ 6, 7, 8],    [ 9, 10, 11]]])

其實多維數組就相當于:

row * col * 列中列

那么:

arr2[0]Out[10]: array([[0, 1, 2],    [3, 4, 5]])arr2[1]Out[11]: array([[ 6, 7, 8],    [ 9, 10, 11]])arr2[0,1]Out[12]: array([3, 4, 5])arr2[0] = 23 #賦值arr2Out[15]: array([[[23, 23, 23],    [23, 23, 23]],    [[ 6, 7, 8],    [ 9, 10, 11]]])

切片索引

那么這樣也就很容易的就可以理解下面這種索引了。

切片索引把每一行每一列當做一個列表就可以很容易的理解。

返回的都是數組。

再復雜一點:

我們想要獲得下面這個數組第一行的第2,3個數值。

arr1 = np.arange(36)#創建一個一維數組。arr2 = arr1.reshape(6,6) #更改數組形狀。Out[20]: array([[ 0, 1, 2, 3, 4, 5],    [ 6, 7, 8, 9, 10, 11],    [12, 13, 14, 15, 16, 17],    [18, 19, 20, 21, 22, 23],    [24, 25, 26, 27, 28, 29],    [30, 31, 32, 33, 34, 35]])            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西华县| 胶南市| 岳池县| 泉州市| 房产| 资阳市| 堆龙德庆县| 会理县| 柳江县| 资源县| 南投市| 加查县| 禄丰县| 内乡县| 扎兰屯市| 湖北省| 托里县| 长子县| 高密市| 中超| 鹿泉市| 师宗县| 霍州市| 岐山县| 卢龙县| 嵩明县| 巴林右旗| 大余县| 军事| 金川县| 涿鹿县| 林口县| 武隆县| 玛多县| 措勤县| 周至县| 三门峡市| 宁陕县| 文山县| 逊克县| 榕江县|