久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    【NumPy學(xué)習(xí)指南】day4 多維數(shù)組的切片和索引

     qweertt4747 2018-03-30

    ndarray支持在多維數(shù)組上的切片操作。為了方便起見,我們可以用一個省略號(...)來

    表示遍歷剩下的維度。

    (1)舉例來說,我們先用arange函數(shù)創(chuàng)建一個數(shù)組并改變其維度,使之變成一個三維數(shù)組:

    >>>b=np.arange(24).reshape(2,3,4)

    >>> b.shape

    (2L, 3L, 4L)

    >>> b

    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]]])

    多維數(shù)組b中有0~23的整數(shù),共24個元素,是一個2×3×4的三維數(shù)組。我們可以形象地把它看做一個兩層樓建筑,每層樓有12個房間,并排列成3行4列。或者,我們也可以將其看成是電子表格中工作表(sheet)、行和列的關(guān)系。你可能已經(jīng)猜到,reshape函數(shù)的作用是改變數(shù)組的“形狀”,也就是改變數(shù)組的維度,其參數(shù)為一個正整數(shù)元組,分別指定數(shù)組在每個維度上的大小。如果指定的維度和數(shù)組的元素數(shù)目不相吻合,函數(shù)將拋出異常。

    (2)我們可以用三維坐標來選定任意一個房間,即樓層、行號和列號。例如,選定第1層樓、第1行、第1列的房間(也可以說是第0層樓、第0行、第0列,這只是習(xí)慣問題),可以這樣表示:

    >>>b[0,0,0]

    0

    (3)如果我們不關(guān)心樓層,也就是說要選取所有樓層的第1行、第1列的房間,那么可以將第1個下標用英文標點的冒號:來代替:

    >>>b[:,0,0]

    array([0, 12])

    >>>b[0]

    array([[0,  1, 2,  3],

           [ 4, 5,  6,  7],

           [ 8, 9, 10, 11]])

    我們還可以這樣寫,選取第1層樓的所有房間:

    >>>b[0,:,:]

    array([[0,  1, 2,  3],

           [ 4, 5,  6,  7],

           [ 8, 9, 10, 11]])

    多個冒號可以用一個省略號(...)來代替,因此上面的代碼等價于:

    >>>b[0,...]

    array([[0,  1, 2,  3],

           [ 4, 5,  6,  7],

           [ 8, 9, 10, 11]])

    進而可以選取第1層樓、第2排的所有房間:

    >>>b[0,1]

    array([4,5, 6, 7])

    (4) 再進一步,我們可以在上面的數(shù)組切片中間隔地選定元素:

    >>>b[0,1,::2]

    array([4,6])

    (5) 如果要選取所有樓層的位于第2列的房間,即不指定樓層和行號,用如下代碼即可:

    >>>b[...,1]

    array([[1,  5, 9],

           [13, 17, 21]])

    類似地,我們可以選取所有位于第2行的房間,而不指定樓層和列號:

    >>>b[:,1]

    array([[4,  5, 6,  7],

           [16, 17, 18, 19]])

    如果要選取第1層樓的所有位于第2列的房間,在對應(yīng)的兩個維度上指定即可:

    >>>b[0,:,1]

    array([1,5, 9])

    (6)如果要選取第1層樓的最后一列的所有房間,使用如下代碼:

    >>>b[0,:,-1]

    array([3,  7, 11])

    如果要反向選取第1層樓的最后一列的所有房間,使用如下代碼:

    >>>b[0,::-1,-1]

    array([11,  7,  3])

    在該數(shù)組切片中間隔地選定元素:

    >>>b[0,::2,-1]

    array([3, 11])

    如果在多維數(shù)組中執(zhí)行翻轉(zhuǎn)一維數(shù)組的命令,將在最前面的維度上翻轉(zhuǎn)元素的順序,在我們

    的例子中將把第1層樓和第2層樓的房間交換:

    >>>b[::-1]

    array([[[12,13, 14, 15],

            [16, 17, 18, 19],

            [20, 21, 22, 23]],

           [[ 0, 1,  2,  3],

            [ 4, 5,  6,  7],

            [ 8, 9, 10, 11]]])

    剛才做了些什么

    我們用各種方法對一個NumPy多維數(shù)組進行了切片操作。




      本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
      轉(zhuǎn)藏 分享 獻花(0

      0條評論

      發(fā)表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 99久久免费精品国产72精品九九| 99久久婷婷国产综合精品青草漫画| 日韩有码中文在线观看| 国产亚洲精品AA片在线爽| 5D肉蒲团之性战奶水欧美| 中文字幕理伦午夜福利片| 国产精品国三级国产av| 成人免费A级毛片无码片2022| 久久国产福利播放| 99久久精品国产综合一区| 亚洲欧美人成网站在线观看看| 欧洲精品久久久AV无码电影| 大陆精大陆国产国语精品| 男女18禁啪啪无遮挡激烈| 亚洲AV永久无码精品主页| 在国产线视频A在线视频| 精品无码久久久久国产| 强奷漂亮人妻系列老师| 好吊妞国产欧美日韩免费观看 | 麻豆国产AV剧情偷闻女邻居内裤| 成人午夜福利免费专区无码| 四虎永久在线精品免费一区二区| 国产在线午夜不卡精品影院| 把女人弄爽大黄A大片片 | 国产偷窥熟女高潮精品视频| 久久97人人超人人超碰超国产| 小妖精又紧又湿高潮H视频69| 亚洲高清国产拍精品5G| 亚洲欧美牲交| 女人被黑人躁得好爽视频| 另类 专区 欧美 制服| 无码8090精品久久一区| 又大又爽又硬的曰皮视频| av在线播放国产一区| 在厨房被C到高潮A毛片奶水| 国产又色又刺激高潮视频| 日日摸夜夜添夜夜添高潮喷水| 无码AV无码天堂资源网影音先锋| 在线 欧美 中文 亚洲 精品| 在线观看免费人成视频播放| 97无码人妻福利免费公开在线视频 |