Python中numpy數(shù)組的維度增減方法詳解
numpy數(shù)組維度增減
使用 np.expand_dims() 為數(shù)組增加指定的軸, np.squeeze() 將數(shù)組中的軸進(jìn)行壓縮減小維度。
1.增加numpy array的維度
在操作數(shù)組情況下,需要按照某個(gè)軸將不同數(shù)組的維度對(duì)齊,這時(shí)候需要為數(shù)組添加維度(特別是將二維數(shù)組變成高維張量的情況下)。numpy提供了 expand_dims() 函數(shù)來為數(shù)組增加維度:
import numpy as np a = np.array([[1,2],[3,4]]) a.shape print(a) """ (2L, 2L) [[1 2] [3 4]] """ # 如果需要在數(shù)組上增加維度,輸入需要增添維度的軸即可,注意index從零還是 a_add_dimension = np.expand_dims(a,axis=0) a_add_dimension.shape (1L, 2L, 2L) a_add_dimension2 = np.expand_dims(a,axis=-1) a_add_dimension2.shape (2L, 2L, 1L) a_add_dimension3 = np.expand_dims(a,axis=1) a_add_dimension3.shape (2L, 1L, 2L)
2.壓縮維度移除軸
在數(shù)組中會(huì)存在很多軸只有1維的情況,可以使用 squeeze 函數(shù)來壓縮冗余維度
b = np.array([[[[5],[6]],[[7],[8]]]]) b.shape print(b) """ (1L, 2L, 2L, 1L) array([[[[5], [6]], [[7], [8]]]]) """ b_squeeze = b.squeeze() b_squeeze.shape (2L, 2L) #默認(rèn)壓縮所有為1的維度 b_squeeze0 = b.squeeze(axis=0) #調(diào)用array實(shí)例的方法 b_squeeze0.shape (2L, 2L, 1L) b_squeeze3 = np.squeeze(b, axis=3) #調(diào)用numpy的方法 b_squeeze3.shape (1L, 2L, 2L)
到此這篇關(guān)于Python中numpy數(shù)組的維度增減方法詳解的文章就介紹到這了,更多相關(guān)numpy數(shù)組維度增減內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python Pandas高級(jí)功能之?dāng)?shù)據(jù)透視表和字符串操作
Pandas是Python中用于數(shù)據(jù)處理和分析的強(qiáng)大庫,這篇文章將深入探討Pandas庫的高級(jí)功能:數(shù)據(jù)透視表和字符串操作,需要的朋友可以參考下2023-07-07opencv-python圖像配準(zhǔn)(匹配和疊加)的實(shí)現(xiàn)
圖像配準(zhǔn)需是指對(duì)不同條件下得到的兩幅或多幅圖像進(jìn)行匹配、疊加的過程。本文詳細(xì)的介紹了如何使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06win10下python3.5.2和tensorflow安裝環(huán)境搭建教程
這篇文章主要為大家詳細(xì)介紹了win10下python3.5.2和tensorflow安裝環(huán)境搭建教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Python解決MySQL數(shù)據(jù)處理從SQL批量刪除報(bào)錯(cuò)
這篇文章主要為大家介紹了Python解決MySQL數(shù)據(jù)處理從SQL批量刪除報(bào)錯(cuò),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12在Django中Pyecharts生成圖表實(shí)現(xiàn)
pyecharts是支持python的一種可視化,那么在Django中Pyecharts如何生成圖表,主要有兩種方法,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05