NumPy 從數值範圍創建數組
這一章節我們將學習如何從數值範圍創建數組。
numpy.arange
numpy 包中的使用 arange 函數創建數值範圍並返回 ndarray 對象,函數格式如下:
numpy.arange(start, stop, step, dtype)
根據 start 與 stop 指定的範圍以及 step 設定的步長,生成一個 ndarray。
參數說明:
參數 | 描述 |
---|---|
start |
起始值,默認為0 |
stop |
終止值(不包含) |
step |
步長,默認為1 |
dtype |
返回ndarray 的數據類型,如果沒有提供,則會使用輸入數據的類型。 |
實例
生成 0 到 5 的數組:
實例
import numpy as np
x = np.arange(5)
print (x)
輸出結果如下:
[0 1 2 3 4]
設置返回類型位 float:
實例
import numpy as np
# 設置了 dtype
x = np.arange(5, dtype = float)
print (x)
輸出結果如下:
[0. 1. 2. 3. 4.]
設置了起始值、終止值及步長:
實例
import numpy as np
x = np.arange(10,20,2)
print (x)
輸出結果如下:
[10 12 14 16 18]
numpy.linspace
numpy.linspace 函數用於創建一個一維數組,數組是一個等差數列構成的,格式如下:
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
參數說明:
參數 | 描述 |
---|---|
start |
序列的起始值 |
stop |
序列的終止值,如果endpoint 為true ,該值包含於數列中 |
num |
要生成的等步長的樣本數量,默認為50 |
endpoint |
該值為 true 時,數列中中包含stop 值,反之不包含,默認是True。 |
retstep |
如果為 True 時,生成的數組中會顯示間距,反之不顯示。 |
dtype |
ndarray 的數據類型 |
以下實例用到三個參數,設置起始點為 1 ,終止點為 10,數列個數為 10。
實例
import numpy as np
a = np.linspace(1,10,10)
print(a)
輸出結果為:
[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
設置元素全部是1的等差數列:
實例
import numpy as np
a = np.linspace(1,1,10)
print(a)
輸出結果為:
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
將 endpoint 設為 false,不包含終止值:
實例
import numpy as np
a = np.linspace(10, 20, 5, endpoint = False)
print(a)
輸出結果為:
[10. 12. 14. 16. 18.]
如果將 endpoint 設為 true,則會包含 20。
以下實例設置間距。
實例
import numpy as np
a =np.linspace(1,10,10,retstep= True)
print(a)
# 拓展例子
b =np.linspace(1,10,10).reshape([10,1])
print(b)
輸出結果為:
(array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]), 1.0) [[ 1.] [ 2.] [ 3.] [ 4.] [ 5.] [ 6.] [ 7.] [ 8.] [ 9.] [10.]]
numpy.logspace
numpy.logspace 函數用於創建一個於等比數列。格式如下:
np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)
base 參數意思是取對數的時候 log 的下標。
參數 | 描述 |
---|---|
start |
序列的起始值為:base ** start |
stop |
序列的終止值為:base ** stop。如果endpoint 為true ,該值包含於數列中 |
num |
要生成的等步長的樣本數量,默認為50 |
endpoint |
該值為 true 時,數列中中包含stop 值,反之不包含,默認是True。 |
base |
對數 log 的底數。 |
dtype |
ndarray 的數據類型 |
實例
import numpy as np
# 默認底數是 10
a = np.logspace(1.0, 2.0, num = 10)
print (a)
輸出結果為:
[ 10. 12.91549665 16.68100537 21.5443469 27.82559402 35.93813664 46.41588834 59.94842503 77.42636827 100. ]
將對數的底數設置為 2 :
實例
import numpy as np
a = np.logspace(0,9,10,base=2)
print (a)
輸出如下:
[ 1. 2. 4. 8. 16. 32. 64. 128. 256. 512.]