NumPy中使用省略號(hào)進(jìn)行切片的實(shí)現(xiàn)示例
基本概念
NumPy中的省略號(hào)(...)用于簡化多維數(shù)組的切片操作,表示“所有未指定的軸”。當(dāng)處理高維數(shù)組時(shí),可以避免顯式寫出多個(gè)連續(xù)的冒號(hào)(:)。
語法規(guī)則
省略號(hào)的使用規(guī)則如下:
...會(huì)自動(dòng)擴(kuò)展為多個(gè):,以匹配數(shù)組的維度。- 可以與其他切片符號(hào)(如整數(shù)索引、普通切片
start:stop:step)混合使用。 - 只能在一個(gè)切片中出現(xiàn)一次。
示例演示
示例1:基本用法
假設(shè)有一個(gè)3維數(shù)組:
import numpy as np arr = np.random.rand(2, 3, 4) # 形狀為 (2, 3, 4)
獲取所有第一維和第二維的元素,第三維取第0列:
arr[..., 0] # 等價(jià)于 arr[:, :, 0]
輸出形狀為 (2, 3)。
獲取所有第二維和第三維的元素,第一維取第1個(gè):
arr[1, ...] # 等價(jià)于 arr[1, :, :]
輸出形狀為 (3, 4)。
示例2:更高維度
對于4維數(shù)組 arr = np.random.rand(2, 3, 4, 5):
取所有第三維和第四維的元素,第一維和第二維取第0個(gè):
arr[0, 0, ...] # 等價(jià)于 arr[0, 0, :, :]
輸出形狀為 (4, 5)。
示例3:混合使用
取第一維全部,第二維的第1到末尾,第三維每隔2個(gè)取一個(gè):
arr[..., 1::2] # 等價(jià)于 arr[:, :, 1::2]
常見錯(cuò)誤
- 重復(fù)使用省略號(hào):
arr[..., ...]會(huì)導(dǎo)致語法錯(cuò)誤。 - 維度不匹配:若省略號(hào)擴(kuò)展后的切片維度超過數(shù)組維度,會(huì)報(bào)錯(cuò)。
實(shí)際應(yīng)用場景
省略號(hào)特別適合處理高維數(shù)組(如圖像數(shù)據(jù)、時(shí)間序列等),避免冗長的切片代碼。例如,對形狀為 (batch, height, width, channels) 的圖像數(shù)據(jù),若要操作所有通道:
images[..., :3] # 取前3個(gè)通道
通過合理使用省略號(hào),可以顯著提升代碼的可讀性和簡潔性。
到此這篇關(guān)于NumPy中使用省略號(hào)進(jìn)行切片的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)NumPy 省略號(hào)切片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django 實(shí)現(xiàn)購物車功能的示例代碼
這篇文章主要介紹了Django 實(shí)現(xiàn)購物車功能的示例代碼,實(shí)現(xiàn)了刪除產(chǎn)品和顯示購物車的一系列購物車的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10
Python對HTML轉(zhuǎn)義字符進(jìn)行反轉(zhuǎn)義的實(shí)現(xiàn)方法
這篇文章主要介紹了Python對HTML轉(zhuǎn)義字符進(jìn)行反轉(zhuǎn)義的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Python中的 ansible 動(dòng)態(tài)Inventory 腳本
這篇文章主要介紹了Python中的 ansible 動(dòng)態(tài)Inventory 腳本,本章節(jié)通過實(shí)例代碼從mysql數(shù)據(jù)作為數(shù)據(jù)源生成動(dòng)態(tài)ansible主機(jī)為入口介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2020-01-01
python?matplotlib自定義colorbar顏色條及內(nèi)置色條詳解
由于自己畫圖的需要想要用一些自定義的顏色來做一個(gè)colorbar,所以下面這篇文章主要給大家介紹了關(guān)于python?matplotlib自定義colorbar顏色條及內(nèi)置色條的相關(guān)資料,需要的朋友可以參考下2022-08-08
用Python實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)(附代碼)
這篇文章主要介紹了用Python實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)(附代碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
詳解java調(diào)用python的幾種用法(看這篇就夠了)
這篇文章主要介紹了詳解java調(diào)用python的幾種用法(看這篇就夠了),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Python+pytorch實(shí)現(xiàn)天氣識(shí)別
這篇文章主要為大家詳細(xì)介紹了如何利用Python+pytorch實(shí)現(xiàn)天氣識(shí)別功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-10-10
python 腳本生成隨機(jī) 字母 + 數(shù)字密碼功能
本文通過一小段簡單的代碼給大家分享基于python 腳本生成隨機(jī) 字母 + 數(shù)字密碼功能,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05

