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

linspace
こつこつPython

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

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト