這一章節我們将學習如何從數值範圍建立數組。
numpy 包中的使用 arange 函數建立數值範圍并傳回 ndarray 對象,函數格式如下:
根據 start 與 stop 指定的範圍以及 step 設定的步長,生成一個 ndarray。
參數說明:
參數
描述
<code>start</code>
起始值,預設為<code>0</code>
<code>stop</code>
終止值(不包含)
<code>step</code>
步長,預設為<code>1</code>
<code>dtype</code>
傳回<code>ndarray</code>的資料類型,如果沒有提供,則會使用輸入資料的類型。
生成 0 到 5 的數組:
import numpy as np
x = np.arange(5)
print (x)
輸出結果如下:
設定傳回類型位 float:
# 設定了 dtype
x = np.arange(5, dtype = float)
設定了起始值、終止值及步長:
x = np.arange(10,20,2)
numpy.linspace 函數用于建立一個一維數組,數組是一個等差數列構成的,格式如下:
序列的起始值
序列的終止值,如果<code>endpoint</code>為<code>true</code>,該值包含于數列中
<code>num</code>
要生成的等步長的樣本數量,預設為<code>50</code>
<code>endpoint</code>
該值為 <code>true</code> 時,數列中包含<code>stop</code>值,反之不包含,預設是True。
<code>retstep</code>
如果為 True 時,生成的數組中會顯示間距,反之不顯示。
<code>ndarray</code> 的資料類型
以下執行個體用到三個參數,設定起始點為 1 ,終止點為 10,數列個數為 10。
a = np.linspace(1,10,10)
print(a)
輸出結果為:
設定元素全部是1的等差數列:
a = np.linspace(1,1,10)
将 endpoint 設為 false,不包含終止值:
a = np.linspace(10, 20, 5, endpoint = False)
如果将 endpoint 設為 true,則會包含 20。
以下執行個體設定間距。
a =np.linspace(1,10,10,retstep= True)
# 拓展例子
b =np.linspace(1,10,10).reshape([10,1])
print(b)
numpy.logspace 函數用于建立一個于等比數列。格式如下:
base 參數意思是取對數的時候 log 的下标。
序列的起始值為:base ** start
序列的終止值為:base ** stop。如果<code>endpoint</code>為<code>true</code>,該值包含于數列中
該值為 <code>true</code> 時,數列中中包含<code>stop</code>值,反之不包含,預設是True。
<code>base</code>
對數 log 的底數。
# 預設底數是 10
a = np.logspace(1.0, 2.0, num = 10)
print (a)
将對數的底數設定為 2 :
a = np.logspace(0,9,10,base=2)
輸出如下: