<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
numpy提供linspace函數(有時也稱為np.linspace)是python中建立數值序列工具。與Numpy arange函數類似,生成結構與Numpy 陣列類似的均勻分佈的數值序列。兩者雖有些差異,但大多數人更願意使用linspace函數,其很好理解,但我們需要去學習如何使用。
本文我們學習linspace函數及其他語法,並通過範例解釋具體引數。最後也順便提及np.linspace 和 np.arange之間的差異。
通過定義均勻間隔建立數值序列。其實,需要指定間隔起始點、終止端,以及指定分隔值總數(包括起始點和終止點);最終函數返回間隔類均勻分佈的數值序列。請看範例:
np.linspace(start = 0, stop = 100, num = 5)
程式碼生成 NumPy 陣列 (ndarray 物件),結果如下:array([ 0., 25., 50., 75., 100.])
如圖:
讓我們解釋下,Numpy linspace函數依照定義間隔生成均勻分佈的數值。我們使用start和stop引數指定間隔,這裡我們設定為0和100,同時指定在範圍內生產5個觀測值,因此函數生成5個均勻分佈的元素。第一個是0,最後一個100,其他三個分佈在0和100之間。
下面我們詳細看下linspace函數的引數,讓你更清楚理解其機制。
linspace的語法非常簡單直接。如下圖所示,首先是函數名稱,對應程式碼為 np.linspace (假設你已匯入importe NumPy as np)。
圖2
上圖有三個引數,是平常使用最頻繁的三個引數。還有其他的可選引數,下面我們討論其引數。
為了理解引數,我們再次看圖示:
start
start 引數數值範圍的起始點。如果設定為0,則結果的第一個數為0.該引數必須提供。
stop
stop 引數數值範圍的終止點。通常其為結果的最後一個值,但如果修改endpoint = False, 則結果中不包括該值(後面範例會說明)。
num (可選)
num 引數控制結果中共有多少個元素。如果num=5,則輸出陣列個數為5.該引數可選,預設為50.
endpoint (可選)
endpoint 引數決定終止值(stop引數指定)是否被包含在結果陣列中。如果 endpoint = True, 結果中包括終止值,反之不包括。預設為True。
dtype (可選)
和其他的 NumPy 一樣, np.linspace中的dtype 引數決定輸出陣列的資料型別。如果不指定,python基於其他引數值推斷資料型別。如果需要可以顯示指定,引數值為NumPy 和 Python支援的任意資料型別。
我們並不需要每次都使用所有引數,如果預設值可以滿足我們需求。一般start, stop, num 比 endpoint 和 dtype常用。
位置引數 vs 命名引數
實際呼叫時無需顯示指定引數名稱,可以通過引數位置直接匹配:
np.linspace(0, 100, 5)
上面程式碼和前面範例的功能一樣:np.linspace(start = 0, stop = 100, num = 5)
。
前者使用位置匹配,後者使用名稱匹配。位置匹配讓程式碼簡捷,名稱匹配使程式碼更可讀,實際應用中我們鼓勵使用名稱匹配呼叫函數。
下面通過範例學習每個引數含義。
np.linspace(start = 0, stop = 1, num = 11)
輸出結果為:
array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
當你需要百分比場景時比較有用。
np.linspace(start = 0, stop = 100, num = 11)
輸出結果為:
array([ 0., 10., 20., 30., 40., 50., 60., 70., 80., 90., 100.])
該範例和前面一樣,只是實際應用很常用。
前文提到,endpoint 引數決定終止值是否被包含在結果陣列中。預設為True,即包括在結果中,反之不包括,請看範例:
np.linspace(start = 1, stop = 5, num = 4, endpoint = False)
因為endpoint = False,5不在結果中。結果為1到4。
array([ 1., 2., 3., 4.])
個人認為該引數不夠直接,平時一般不使用。
預設linspace根據其他引數型別推斷資料型別,很多時候,輸出結果為float型別。如果需要指定資料型別,可以通過dtype設定。該引數很直接,除了linspace其他函數也一樣,如:np.array,np.arange等。範例:
np.linspace(start = 0, stop = 100, num = 5, dtype = int)
這裡dtype為int,結果為int型別,而不是float型別。
本文我們通過範例學習了linspace函數。如果你熟悉NumPy,一定也注意到還有np.arange函數。兩者最大差異是,linspace能夠精確控制終止值終值,而arange能夠更直接地控制序列中值之間的增量。
到此這篇關於python numpy 中linspace函數的文章就介紹到這了,更多相關python linspace函數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45