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