NumPy 数値範囲から配列を作成

この章では、数値範囲から配列を作成する方法を学びます。

numpy.arange

numpyパッケージのarange関数を使用して数値範囲を作成し、ndarrayオブジェクトを返します。関数の形式は次のとおりです:

numpy.arange(start, stop, step, dtype)

startとstopで指定された範囲とstepで設定されたステップ数に基づいて、ndarrayを生成します。

パラメータの説明:

パラメータ 説明
start 開始値、デフォルトは0
stop 終了値(含まない)
step ステップ数、デフォルトは1
dtype 戻り値ndarrayのデータ型。提供されない場合は、入力データの型が使用されます。

例

0から4までの長さ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関数は1次元配列を作成するために使用されます。配列は等差数列で構成され、形式は次のとおりです:

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のデータ型

次の例では3つのパラメータを使用し、開始点を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.]
その他の拡張