在Python中,NumPy庫是一個(gè)很強(qiáng)大的數(shù)值計(jì)算庫。np.empty是其中的一個(gè)函數(shù),主要用于創(chuàng)建一個(gè)指定大小、數(shù)據(jù)類型的數(shù)組,并且不初始化數(shù)組中的元素。下面我們將從多個(gè)方面詳細(xì)講述np.empty函數(shù)。
numpy.empty(shape, dtype = float, order = 'C')
其中,shape參數(shù)可以是整數(shù),元組或列表,代表要?jiǎng)?chuàng)建的數(shù)組的形狀;dtype參數(shù)可以是字符串或numpy.dtype類型,代表數(shù)組的數(shù)據(jù)類型,默認(rèn)為float64;order參數(shù)可以是'C'或'F',代表用C-style或者Fortran-style的順序存儲(chǔ)多維數(shù)組中的元素。這里的順序是指在內(nèi)存中數(shù)組元素存儲(chǔ)的順序。
3、在NumPy中,np.empty()和np.zeros()的區(qū)別是什么?
np.empty()和np.zeros()的區(qū)別在于:
np.zeros()用于創(chuàng)建指定形狀的全0數(shù)組;而np.empty()創(chuàng)建一個(gè)指定大小、數(shù)據(jù)類型的數(shù)組,并且數(shù)組中元素的初始值是隨機(jī)的。這個(gè)不同之處在程序?qū)嵗幸矔?huì)有更詳細(xì)的說明。numpy.empty_like(prototype, dtype = None, order = 'K', subok = True, shape = None)
其中,prototype參數(shù)可以是數(shù)組、元組或列表。若prototype是數(shù)組x,那么np.empty_like(x)就代表創(chuàng)建一個(gè)和x大小、數(shù)據(jù)類型相同的空數(shù)組;dtype、order、shape和subok參數(shù)和np.empty()函數(shù)的一樣。
numpy.empty(shape, dtype = float, order = 'C')
其中,shape參數(shù)可以是整數(shù),元組或列表,代表要?jiǎng)?chuàng)建的數(shù)組的形狀;dtype參數(shù)可以是字符串或numpy.dtype類型,代表數(shù)組的數(shù)據(jù)類型,默認(rèn)為float64;order參數(shù)可以是'C'或'F',代表用C-style或者Fortran-style的順序存儲(chǔ)多維數(shù)組中的元素。這里的順序是指在內(nèi)存中數(shù)組元素存儲(chǔ)的順序。
3、np.empty函數(shù)的語法是怎樣的?
np.empty函數(shù)的語法如下:
numpy.empty(shape, dtype = float, order = 'C')
這里,shape參數(shù)是數(shù)組的形狀,是一個(gè)整數(shù)、元組或列表。
import numpy as np arr = np.empty((2, 2)) print('arr =', arr)
這段代碼中,我們導(dǎo)入了numpy庫,并用np.empty()函數(shù)創(chuàng)建了一個(gè)形狀為(2,2)的空數(shù)組arr,最后輸出這個(gè)數(shù)組arr。
輸出結(jié)果為:
arr = [[ 0.00000000e+000 0.00000000e+000]
[ 0.00000000e+000 0.00000000e+000]]
從輸出結(jié)果中可以看出,數(shù)組的元素值都是0,這是因?yàn)檫@些值未被初始化。
2、np.empty_like的使用方法:
import numpy as np
arr1 = np.array([[1,2,3], [4,5,6]])
arr2 = np.empty_like(arr1)
print('arr2 =', arr2)
這段代碼中,我們首先創(chuàng)建了一個(gè)形狀為(2, 3)的二維數(shù)組arr1,然后用np.empty_like()函數(shù)創(chuàng)建了一個(gè)和arr1相同大小的空數(shù)組arr2,最后輸出arr2。
輸出結(jié)果為:
arr2 = [[0 0 0]
[0 0 0]]
可以看到,輸出結(jié)果顯示arr2也是一個(gè)形狀為(2, 3)的二維數(shù)組。此時(shí),數(shù)組的元素都為0,這也說明了,np.empty_like()函數(shù)默認(rèn)使用dtype=float。
3、np.empty()的使用方法:
import numpy as np
arr3 = np.empty((2, 3), dtype = int)
print('arr3 =', arr3)
這段代碼中,我們創(chuàng)建了一個(gè)形狀為(2, 3)的整型空數(shù)組arr3,然后輸出它。
輸出結(jié)果為:
arr3 = [[0 0 0]
[0 0 0]]
這個(gè)輸出結(jié)果和arr2相同,但注意到我們給np.empty()加入了一個(gè)dtype參數(shù),它表示在用np.empty()創(chuàng)建數(shù)組時(shí)指定數(shù)組的數(shù)據(jù)類型,這里我們指定了dtype='int'表示數(shù)組數(shù)據(jù)類型為整型。
七、總結(jié)
本文從多個(gè)方面詳細(xì)講述了np.empty函數(shù)的使用方法和相關(guān)知識。它是一個(gè)創(chuàng)建指定大小、數(shù)據(jù)類型的數(shù)組,且不初始化數(shù)組中元素的函數(shù),適用于對空間效率較為敏感的情況。np.empty_like函數(shù)是一個(gè)創(chuàng)建空數(shù)組的函數(shù),而它要求創(chuàng)建的空數(shù)組大小與現(xiàn)有的數(shù)組的大小相同。numpy.empty函數(shù)是numpy庫中的一個(gè)創(chuàng)建指定大小和數(shù)據(jù)類型的數(shù)組但不初始化的函數(shù)。在使用np.empty函數(shù)時(shí),要注意到所創(chuàng)建的數(shù)組元素都是隨機(jī)值而不是0或者1。最后,本文通過代碼實(shí)例展示了np.empty(),np.empty_like()和np.empty函數(shù)的使用方法,希望能幫助讀者更好地了解和掌握numpy庫中的這些函數(shù)。