溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python?numpy中l(wèi)inspace函數(shù)如何使用

發(fā)布時(shí)間:2023-05-04 10:02:59 來源:億速云 閱讀:84 作者:iii 欄目:編程語言

這篇“python numpy中l(wèi)inspace函數(shù)如何使用”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“python numpy中l(wèi)inspace函數(shù)如何使用”文章吧。

    python numpy 中l(wèi)inspace函數(shù)

    numpy提供linspace函數(shù)(有時(shí)也稱為np.linspace)是python中創(chuàng)建數(shù)值序列工具。與Numpy arange函數(shù)類似,生成結(jié)構(gòu)與Numpy 數(shù)組類似的均勻分布的數(shù)值序列。兩者雖有些差異,但大多數(shù)人更愿意使用linspace函數(shù),其很好理解,但我們需要去學(xué)習(xí)如何使用。

    1. 快速了解

    通過定義均勻間隔創(chuàng)建數(shù)值序列。其實(shí),需要指定間隔起始點(diǎn)、終止端,以及指定分隔值總數(shù)(包括起始點(diǎn)和終止點(diǎn));最終函數(shù)返回間隔類均勻分布的數(shù)值序列。請(qǐng)看示例:

    np.linspace(start = 0, stop = 100, num = 5)

    代碼生成 NumPy 數(shù)組 (ndarray 對(duì)象),結(jié)果如下:array([ 0., 25., 50., 75., 100.])
    如圖:

    python?numpy中l(wèi)inspace函數(shù)如何使用

    讓我們解釋下,Numpy linspace函數(shù)依照定義間隔生成均勻分布的數(shù)值。我們使用start和stop參數(shù)指定間隔,這里我們?cè)O(shè)定為0和100,同時(shí)指定在范圍內(nèi)生產(chǎn)5個(gè)觀測(cè)值,因此函數(shù)生成5個(gè)均勻分布的元素。第一個(gè)是0,最后一個(gè)100,其他三個(gè)分布在0和100之間。

    下面我們?cè)敿?xì)看下linspace函數(shù)的參數(shù),讓你更清楚理解其機(jī)制。

    2. linspace函數(shù)語法

    linspace的語法非常簡(jiǎn)單直接。如下圖所示,首先是函數(shù)名稱,對(duì)應(yīng)代碼為 np.linspace (假設(shè)你已導(dǎo)入importe NumPy as np)。

    python?numpy中l(wèi)inspace函數(shù)如何使用

    圖2

    上圖有三個(gè)參數(shù),是平常使用最頻繁的三個(gè)參數(shù)。還有其他的可選參數(shù),下面我們討論其參數(shù)。
    為了理解參數(shù),我們?cè)俅慰磮D示:

    python?numpy中l(wèi)inspace函數(shù)如何使用

    start
    start 參數(shù)數(shù)值范圍的起始點(diǎn)。如果設(shè)置為0,則結(jié)果的第一個(gè)數(shù)為0.該參數(shù)必須提供。

    stop
    stop 參數(shù)數(shù)值范圍的終止點(diǎn)。通常其為結(jié)果的最后一個(gè)值,但如果修改endpoint = False, 則結(jié)果中不包括該值(后面示例會(huì)說明)。

    num (可選)
    num 參數(shù)控制結(jié)果中共有多少個(gè)元素。如果num=5,則輸出數(shù)組個(gè)數(shù)為5.該參數(shù)可選,缺省為50.

    endpoint (可選)
    endpoint 參數(shù)決定終止值(stop參數(shù)指定)是否被包含在結(jié)果數(shù)組中。如果 endpoint = True, 結(jié)果中包括終止值,反之不包括。缺省為True。

    dtype (可選)
    和其他的 NumPy 一樣, np.linspace中的dtype 參數(shù)決定輸出數(shù)組的數(shù)據(jù)類型。如果不指定,python基于其他參數(shù)值推斷數(shù)據(jù)類型。如果需要可以顯示指定,參數(shù)值為NumPy 和 Python支持的任意數(shù)據(jù)類型。

    我們并不需要每次都使用所有參數(shù),如果缺省值可以滿足我們需求。一般start, stop, num 比 endpoint 和 dtype常用。

    位置參數(shù) vs 命名參數(shù)

    實(shí)際調(diào)用時(shí)無需顯示指定參數(shù)名稱,可以通過參數(shù)位置直接匹配:

    np.linspace(0, 100, 5)

    上面代碼和前面示例的功能一樣:np.linspace(start = 0, stop = 100, num = 5) 。
    前者使用位置匹配,后者使用名稱匹配。位置匹配讓代碼簡(jiǎn)捷,名稱匹配使代碼更可讀,實(shí)際應(yīng)用中我們鼓勵(lì)使用名稱匹配調(diào)用函數(shù)。

    3. 示例

    下面通過示例學(xué)習(xí)每個(gè)參數(shù)含義。

    3.1 從0到1,間隔為0.1的數(shù)值序列
    np.linspace(start = 0, stop = 1, num = 11)

    輸出結(jié)果為:

    array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9,  1. ])

    當(dāng)你需要百分比場(chǎng)景時(shí)比較有用。

    3.2 從0 到 100,間隔為10的數(shù)值序列
    np.linspace(start = 0, stop = 100, num = 11)

    輸出結(jié)果為:

    array([  0.,  10.,  20.,  30.,  40.,  50.,  60.,  70.,  80.,  90., 100.])

    該示例和前面一樣,只是實(shí)際應(yīng)用很常用。

    3.3 使用 endpoint 參數(shù)

    前文提到,endpoint 參數(shù)決定終止值是否被包含在結(jié)果數(shù)組中。缺省為True,即包括在結(jié)果中,反之不包括,請(qǐng)看示例:

    np.linspace(start = 1, stop = 5, num = 4, endpoint = False)

    因?yàn)閑ndpoint = False,5不在結(jié)果中。結(jié)果為1到4。

    array([ 1.,  2.,  3.,  4.])

    個(gè)人認(rèn)為該參數(shù)不夠直接,平時(shí)一般不使用。

    3.4 手動(dòng)指定數(shù)據(jù)類型

    默認(rèn)linspace根據(jù)其他參數(shù)類型推斷數(shù)據(jù)類型,很多時(shí)候,輸出結(jié)果為float類型。如果需要指定數(shù)據(jù)類型,可以通過dtype設(shè)置。該參數(shù)很直接,除了linspace其他函數(shù)也一樣,如:np.array,np.arange等。示例:

    np.linspace(start = 0, stop = 100, num = 5, dtype = int)

    這里dtype為int,結(jié)果為int類型,而不是float類型。

    以上就是關(guān)于“python numpy中l(wèi)inspace函數(shù)如何使用”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI