【毎日Python】Pythonで等間隔の配列を作成する方法|numpy.linspace

【毎日Python】Pythonで等間隔の配列を作成する方法|numpy.linspace

Pythonで等間隔の配列を作成する方法です。
使用するのは、Pythonのnumpyライブラリのlinspace関数です。

import numpy as np

等間隔とは、各要素の差分がすべて同じである、ということです。
まず、1以上20以下の配列でを作成してみましょう。
linspace関数では、第一引数以上、第二引数以下の、等間隔の配列を作成することができます。
実行します。
1以上20以下の、要素数50の配列を作成することができました。
このように、デフォルトの要素数は50です。

np.linspace(1, 20)

実行結果:

array([ 1.        ,  1.3877551 ,  1.7755102 ,  2.16326531,  2.55102041,
        2.93877551,  3.32653061,  3.71428571,  4.10204082,  4.48979592,
        4.87755102,  5.26530612,  5.65306122,  6.04081633,  6.42857143,
        6.81632653,  7.20408163,  7.59183673,  7.97959184,  8.36734694,
        8.75510204,  9.14285714,  9.53061224,  9.91836735, 10.30612245,
       10.69387755, 11.08163265, 11.46938776, 11.85714286, 12.24489796,
       12.63265306, 13.02040816, 13.40816327, 13.79591837, 14.18367347,
       14.57142857, 14.95918367, 15.34693878, 15.73469388, 16.12244898,
       16.51020408, 16.89795918, 17.28571429, 17.67346939, 18.06122449,
       18.44897959, 18.83673469, 19.2244898 , 19.6122449 , 20.        ])

次に、配列の要素数を指定してみましょう。
第三引数に要素数を指定します。
実行します。
指定した通りに、要素数10の配列を作成することができました。

np.linspace(1, 20, 10)

実行結果:

array([ 1.        ,  3.11111111,  5.22222222,  7.33333333,  9.44444444,
       11.55555556, 13.66666667, 15.77777778, 17.88888889, 20.        ])

次に、各要素の差分も取得してみましょう。
引数retstepにTrueを渡します。
実行します。
等間隔の配列と、各要素の差分をそれぞれタプルで取得することができました。

np.linspace(1, 20, 5, retstep=True)

実行結果:

(array([ 1.  ,  5.75, 10.5 , 15.25, 20.  ]), 4.75)

なお、タプルからインデックスで1を指定して、差分のみを取得することもできます。

次に、最後の要素を含まずに配列を作成してみましょう。
引数endpointにFalseを渡して実行します。
第二引数に指定した20未満の配列を作成することができました。

np.linspace(1, 20, 5, endpoint=False)

実行結果:

array([ 1. ,  4.8,  8.6, 12.4, 16.2])

関連メソッド

【毎日Python】Pythonで配列を作成する方法|numpy.arange