欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中np.zeros_like函數(shù)用法詳解

 更新時間:2025年04月15日 11:22:12   作者:瘋狂成癮者  
這篇文章主要介紹了python中np.zeros_like函數(shù)用法的相關資料,np.zeros_like是?NumPy?庫中的一個函數(shù),用于創(chuàng)建一個與給定數(shù)組形狀和類型相同的新數(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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論