對於任何一個開發者來說,對於一個函數的理解與掌握都是非常重要的。而在Python中我們經常會使用到的一個函數就是np.zeros。在這篇文章中,我們將從不同的角度來詳細闡述np.zeros函數以及其各個參數和使用方法。
一、np.zeros()
np.zeros函數是NumPy中的一個函數,它的作用就是返回一個給定形狀和類型的用0填充的數組。對於使用者來說,這個函數可以使用下面的方式調用:
import numpy as np np.zeros(shape, dtype=float, order='C')
其中,np.zeros有三個參數,分別是shape,dtype和order。下面我們將詳細介紹每個參數的含義和作用。
二、np.zeros中各個參數是什麼意思
1. shape
在np.zeros函數中,shape參數代表了我們所創建的數組的形狀。這個參數的類型必須是一個序列或者一個整數。比如,我們可以使用下面的方式創建一個形狀為(2, 3)的數組:
import numpy as np a = np.zeros((2, 3)) print(a)
運行以上代碼,最終的輸出結果應該為:
[[0. 0. 0.] [0. 0. 0.]]
上面的代碼中,我們傳遞了一個元組作為shape參數。這個元組包含了兩個整數,用於指定數組的行數和列數。
2. dtype
在np.zeros函數中,dtype參數代表了我們創建的數組的數據類型。這個參數的類型必須是一個NumPy數據類型,比如np.int8, np.float64等等。
在默認情況下,np.zeros函數會創建一個浮點型數組。如果我們希望創建一個整型數組,我們就可以使用下面的方式:
import numpy as np a = np.zeros((2, 3), dtype=np.int8) print(a)
運行以上代碼,最終的輸出結果應該為:
[[0 0 0] [0 0 0]]
上面的代碼中,我們使用了dtype參數來指定數組的數據類型為np.int8。
3. order
在np.zeros函數中,order參數代表了數組的內存布局順序。這個參數的值可以是’C’或者’F’。在默認情況下,np.zeros函數會使用’C’順序。
在’C’順序中,多維數組的元素是按行順序存儲的。例如,我們可以使用下面的方式創建一個具有4行3列的數組:
import numpy as np a = np.zeros((4, 3), order='C') a[3, 2] = 1 print(a)
運行以上代碼,最終的輸出結果應該為:
[[0. 0. 0.] [0. 0. 0.] [0. 0. 0.] [0. 0. 1.]]
在上面的代碼中,我們指定了order參數的值為’C’,因此使用C順序進行存儲。最後列印的結果中只會在第4行第3列的位置上顯示出一個1。如果將order參數的值改為’F’,則使用Fortran順序進行存儲。
三、np.zeros參數
除了上面介紹的三個參數,np.zeros函數還支持其他的參數。下面我們將對這些參數進行詳細的介紹。
1. Like參數
np.zeros函數中有一個Like參數,它的作用是創建一個和另一個數組具有相同形狀和數據類型的數組。這個參數的使用方法和shape參數類似,只不過我們需要將第一個參數設置為一個已經存在的數組。例如:
import numpy as np a = np.array([[1, 2, 3], [4, 5, 6]]) b = np.zeros_like(a) print(b)
運行以上代碼,最終的輸出結果應該為:
[[0 0 0] [0 0 0]]
上面的代碼中,我們使用了np.zeros_like函數來創建了一個和數組a具有相同形狀和數據類型的數組。
2. Endian參數
在處理二進位數據的時候,我們需要考慮到數據的位元組序問題。np.zeros函數中有一個Endian參數,它的作用是控制數組保存時採用的位元組序。這個參數的值可以是”或者’=’,分別代表小端位元組序、大端位元組序和本機位元組序。默認情況下,np.zeros函數使用本機位元組序。
3. Out參數
在np.zeros函數中,Out參數可以讓我們指定一個輸出數組,這個數組用於保存函數計算的結果。這個參數的使用方法比較簡單,例如:
import numpy as np a = np.zeros((2, 3)) b = np.zeros((2, 3)) np.zeros((2, 3), out=b) print(a) print(b)
運行以上代碼,最終的輸出結果應該為:
[[0. 0. 0.] [0. 0. 0.]] [[0. 0. 0.] [0. 0. 0.]]
在上面的代碼中,我們使用了Out參數來指定了輸出數組為b。
四、np.zeros函數含義
對於np.zeros函數,我們可以使用下面的方式來進行函數說明:
def zeros(shape, dtype=float, order='C',*, like=None, endian=None, out=None, **kwargs): """ 返回一個給定形狀和類型的用0填充的數組。 Parameters: shape : int or sequence of ints 要創建的數組的形狀 dtype : data-type, optional 要創建的數組的數據類型,默認為float order : {'C', 'F', 'A'}, optional 數組存儲順序。 - 'C'表示C順序,即按行存儲 - 'F'表示Fortran順序,即按列存儲 - 'A'表示打開方式,即嘗試使用C順序,然後使用Fortran順序 like : array_like, optional 創建一個具有相同形狀和數據類型的數組 endian : {'', '='}, optional 大小端位元組序控制。 - ''表示大端位元組序 - '='表示本機位元組序 out : ndarray, optional 結果數組,如果指定了該參數,則原數組的值將被修改 Returns: ------- out : ndarray 用0填充的數組 """
五、np.zeros函數什麼意思
從上面的介紹中,我們可以看出,np.zeros函數是一個非常常用的函數。它的作用就是創建一個給定形狀和類型的全0數組。
六、np.zeros四維數組
在np.zeros函數中,我們不僅可以創建二維數組或者三維數組,還可以用這個函數來創建四維數組。下面的代碼就是一個創建四維數組的例子:
import numpy as np a = np.zeros((2, 3, 4, 5)) print(a)
運行以上代碼,最終的輸出結果應該是一個形狀為(2, 3, 4, 5)的四維數組,數組中的所有元素都是0。
七、np.zeros(5)的結果是
對於np.zeros(5)這個函數調用,它的作用是創建一個長度為5的一維數組,並將所有元素設置為0。以下代碼展示了一個示例:
import numpy as np a = np.zeros(5) print(a)
運行以上代碼,最終的輸出結果應該是一個形狀為(5,)的一維數組,數組中的所有元素都是0。
八、小結
本文中,我們從不同的角度詳細闡述了np.zeros函數以及它的各個參數和使用方法。希望通過本文的介紹,能夠讓讀者更加深入地理解np.zeros函數,並使用它來進行數組的創建和操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/303671.html