python中np.zeros_like函數(shù)用法詳解
前言
np.zeros_like
是 NumPy 庫(kù)中的一個(gè)函數(shù),用于創(chuàng)建一個(gè)與給定數(shù)組具有相同形狀和類型的數(shù)組,并將所有元素初始化為 0。
語(yǔ)法:
np.zeros_like(a, dtype=None, order='K', subok=True)
參數(shù):
- a:輸入的數(shù)組。新的數(shù)組將具有與
a
相同的形狀和類型。 - dtype(可選):指定返回?cái)?shù)組的數(shù)據(jù)類型。如果沒(méi)有指定,默認(rèn)為輸入數(shù)組
a
的數(shù)據(jù)類型。 - order(可選):指定返回?cái)?shù)組的內(nèi)存布局,
'C'
為行主序(C-style),'F'
為列主序(Fortran-style)。默認(rèn)為'K'
,意味著返回?cái)?shù)組的內(nèi)存布局盡量與輸入數(shù)組一致。 - subok(可選):如果為
True
,返回的數(shù)組將保持子類的類型。如果為False
,則返回的數(shù)組是ndarray
類型。默認(rèn)值為True
。
返回值:
返回一個(gè)具有與輸入數(shù)組相同形狀和類型的新數(shù)組,且數(shù)組的所有元素都初始化為 0。
使用示例:
1. 創(chuàng)建與現(xiàn)有數(shù)組相同形狀的零數(shù)組
import numpy as np # 創(chuàng)建一個(gè)原始數(shù)組 arr = np.array([[1, 2, 3], [4, 5, 6]]) # 使用 np.zeros_like 創(chuàng)建一個(gè)與 arr 形狀相同的零數(shù)組 arr_zeros = np.zeros_like(arr) print(arr_zeros) # 輸出: # [[0 0 0] # [0 0 0]]
在這個(gè)例子中,arr_zeros
是一個(gè)與 arr
形狀相同的數(shù)組,且所有元素都初始化為 0。
2. 指定數(shù)據(jù)類型 dtype
你可以指定新數(shù)組的數(shù)據(jù)類型,而不必依賴輸入數(shù)組的類型。例如,如果你希望返回一個(gè)浮點(diǎn)類型的數(shù)組:
arr_zeros_float = np.zeros_like(arr, dtype=float) print(arr_zeros_float) # 輸出: # [[0. 0. 0.] # [0. 0. 0.]]
這里,返回的數(shù)組類型是 float
,即使原數(shù)組 arr
的元素是整數(shù)類型。
3. 與 np.zeros() 的比較
np.zeros_like()
與 np.zeros()
相似,但是 np.zeros_like()
會(huì)根據(jù)現(xiàn)有數(shù)組的形狀和類型創(chuàng)建零數(shù)組,而 np.zeros()
需要顯式指定形狀。
# 使用 np.zeros 創(chuàng)建一個(gè) 2x3 的零數(shù)組 arr_zeros_manual = np.zeros((2, 3)) # 使用 np.zeros_like 根據(jù) arr 創(chuàng)建一個(gè)零數(shù)組 arr_zeros_like = np.zeros_like(arr) print(np.array_equal(arr_zeros_manual, arr_zeros_like)) # 輸出: True
兩者都創(chuàng)建了形狀為 (2, 3)
的零數(shù)組,但 np.zeros_like()
根據(jù)現(xiàn)有數(shù)組 arr
的形狀和類型自動(dòng)生成零數(shù)組。
4. 指定內(nèi)存布局
通過(guò) order
參數(shù),你可以指定返回?cái)?shù)組的內(nèi)存布局。默認(rèn)情況下,np.zeros_like()
會(huì)使用 'K'
,即盡量與輸入數(shù)組一致,但你也可以指定為 'C'
或 'F'
:
arr_zeros_c = np.zeros_like(arr, order='C') # 使用行主序 arr_zeros_f = np.zeros_like(arr, order='F') # 使用列主序 print(arr_zeros_c.flags['C_CONTIGUOUS']) # 輸出: True,表示是 C-style 存儲(chǔ) print(arr_zeros_f.flags['F_CONTIGUOUS']) # 輸出: True,表示是 Fortran-style 存儲(chǔ)
5. 與 np.zeros() 的區(qū)別
np.zeros()
用于根據(jù)給定形狀創(chuàng)建零數(shù)組,而 np.zeros_like()
用于創(chuàng)建一個(gè)形狀和數(shù)據(jù)類型與現(xiàn)有數(shù)組相同的零數(shù)組。np.zeros_like()
比 np.zeros()
更加靈活,因?yàn)樗軌蚶^承現(xiàn)有數(shù)組的形狀和類型,而不需要你重新指定。
總結(jié):
np.zeros_like(a)
:創(chuàng)建一個(gè)與a
形狀和數(shù)據(jù)類型相同的零數(shù)組。- 可選參數(shù)
dtype
可以指定返回?cái)?shù)組的數(shù)據(jù)類型。 order
控制返回?cái)?shù)組的內(nèi)存布局(默認(rèn)為K
)。- 它通常用于在現(xiàn)有數(shù)組的基礎(chǔ)上創(chuàng)建零數(shù)組,特別是在需要保證形狀和類型一致時(shí)。
這種方法非常適合在進(jìn)行數(shù)組計(jì)算時(shí)初始化一個(gè)與其他數(shù)組具有相同形狀的零數(shù)組。
到此這篇關(guān)于python中np.zeros_like函數(shù)用法詳解的文章就介紹到這了,更多相關(guān)python np.zeros_like函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Python對(duì)中國(guó)500強(qiáng)排行榜數(shù)據(jù)進(jìn)行可視化分析
這篇文章主要介紹了利用Python對(duì)中國(guó)500強(qiáng)排行榜數(shù)據(jù)進(jìn)行可視化分析,從不同角度去對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,可視化展示,下文詳細(xì)內(nèi)容介紹需要的小伙伴可以參考一下2022-05-05python 解決數(shù)據(jù)庫(kù)寫(xiě)入時(shí)float自動(dòng)變?yōu)檎麛?shù)的問(wèn)題
這篇文章主要介紹了python 解決數(shù)據(jù)庫(kù)寫(xiě)入時(shí)float自動(dòng)變?yōu)檎麛?shù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Python中xml.etree.ElementTree的使用示例
ElementTree是Python標(biāo)準(zhǔn)庫(kù)中的一個(gè)模塊,專門用于處理XML文件,它提供了解析、創(chuàng)建、修改和遍歷XML文檔的API,非常適合處理配置文件、數(shù)據(jù)交換格式和Web服務(wù)響應(yīng)等場(chǎng)景,本文就來(lái)介紹一下,感興趣的可以了解一下2024-09-09python連接sql?server數(shù)據(jù)庫(kù)的方法實(shí)戰(zhàn)
當(dāng)我們用Python來(lái)編寫(xiě)網(wǎng)站,必須要能夠通過(guò)python操作數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于python連接sql?server數(shù)據(jù)庫(kù)的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08在python代碼中加入環(huán)境變量的語(yǔ)句操作
這篇文章主要介紹了在python代碼中加入環(huán)境變量的語(yǔ)句操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04Python3.5模塊的定義、導(dǎo)入、優(yōu)化操作圖文詳解
這篇文章主要介紹了Python3.5模塊的定義、導(dǎo)入、優(yōu)化操作,結(jié)合圖文與實(shí)例形式詳細(xì)分析了Python3.5模塊的定義、導(dǎo)入及優(yōu)化等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-04-04Django中Cookie設(shè)置及跨域問(wèn)題處理詳解
本文主要介紹了Django中Cookie設(shè)置及跨域問(wèn)題處理,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09