Python中NumPy的數(shù)組重塑
數(shù)組重塑
重塑意味著更改數(shù)組的形狀。
數(shù)組的形狀是每個(gè)維中元素的數(shù)量。
通過重塑,我們可以添加或刪除維度或更改每個(gè)維度中的元素?cái)?shù)量。
從 1-D 重塑為 2-D
實(shí)例
將以下具有 12 個(gè)元素的 1-D 數(shù)組轉(zhuǎn)換為 2-D 數(shù)組。
最外面的維度將有 4 個(gè)數(shù)組,每個(gè)數(shù)組包含 3 個(gè)元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) newarr = arr.reshape(4, 3) print(newarr)
運(yùn)行實(shí)例
從 1-D 重塑為 3-D
實(shí)例
將以下具有 12 個(gè)元素的 1-D 數(shù)組轉(zhuǎn)換為 3-D 數(shù)組。
最外面的維度將具有 2 個(gè)數(shù)組,其中包含 3 個(gè)數(shù)組,每個(gè)數(shù)組包含 2 個(gè)元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) newarr = arr.reshape(2, 3, 2) print(newarr)
運(yùn)行實(shí)例
我們可以重塑成任何形狀嗎?
是的,只要重塑所需的元素在兩種形狀中均相等。
我們可以將 8 元素 1D 數(shù)組重塑為 2 行 2D 數(shù)組中的 4 個(gè)元素,但是我們不能將其重塑為 3 元素 3 行 2D 數(shù)組,因?yàn)檫@將需要 3x3 = 9 個(gè)元素。
實(shí)例
嘗試將具有 8 個(gè)元素的 1D 數(shù)組轉(zhuǎn)換為每個(gè)維度中具有 3 個(gè)元素的 2D 數(shù)組(將產(chǎn)生錯(cuò)誤):
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) newarr = arr.reshape(3, 3) print(newarr)
運(yùn)行實(shí)例
返回副本還是視圖?
實(shí)例
檢查返回的數(shù)組是副本還是視圖
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) print(arr.reshape(2, 4).base)
運(yùn)行實(shí)例
上面的例子返回原始數(shù)組,因此它是一個(gè)視圖。
未知的維
可以使用一個(gè)“未知”維度。
這意味著不必在 reshape 方法中為維度之一指定確切的數(shù)字。
傳遞 -1 作為值,NumPy 將為你計(jì)算該數(shù)字。
實(shí)例
將 8 個(gè)元素的 1D 數(shù)組轉(zhuǎn)換為 2x2 元素的 3D 數(shù)組:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) newarr = arr.reshape(2, 2, -1) print(newarr)
運(yùn)行實(shí)例
注釋:我們不能將 -1 傳遞給一個(gè)以上的維度。
展平數(shù)組
展平數(shù)組(Flattening the arrays)是指將多維數(shù)組轉(zhuǎn)換為 1D 數(shù)組。
我們可以使用 reshape(-1) 來做到這一點(diǎn)。
實(shí)例
把數(shù)組轉(zhuǎn)換為 1D 數(shù)組:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) newarr = arr.reshape(-1) print(newarr)
運(yùn)行實(shí)例
注釋:有很多功能可以更改 numpy flatten、ravel 中數(shù)組形狀,還可以重新排列元素 rot90、flip、fliplr、flipud 等。這些功能屬于 numpy 的中級(jí)至高級(jí)部分。
到此這篇關(guān)于py中NumPy的數(shù)組重塑的文章就介紹到這了,更多相關(guān)NumPy的數(shù)組重塑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python進(jìn)行兩個(gè)表格對(duì)比的方法
今天小編就為大家分享一篇python進(jìn)行兩個(gè)表格對(duì)比的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06Python列表(List)知識(shí)點(diǎn)總結(jié)
在本篇文章中小編給大家分享了關(guān)于Python列表(List)知識(shí)點(diǎn)一直對(duì)應(yīng)的實(shí)例內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-02-02手把手教你如何使python變?yōu)榭蓤?zhí)行文件
對(duì)于exe可執(zhí)行文件,相信大家都不陌生,下面這篇文章主要給大家介紹了關(guān)于如何使python變?yōu)榭蓤?zhí)行文件的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02