top
Loading...
NumPy 從數值範圍創建數組

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 序列的終止值,如果endpointtrue,該值包含於數列中
num 要生成的等步長的樣本數量,默認為50
endpoint 該值為 ture 時,數列中中包含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。如果endpointtrue,該值包含於數列中
num 要生成的等步長的樣本數量,默認為50
endpoint 該值為 ture 時,數列中中包含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 = a = np.logspace(0,9,10,base=2) print (a)

輸出如下:

[  1.   2.   4.   8.  16.  32.  64. 128. 256. 512.]
北斗有巢氏 有巢氏北斗