【NumPy入門 np.linspace】等差数列を作成する関数

こんにちは!インストラクターのフクロウです。

この記事では、等差数列を作るための関数np.linspaceを紹介します。同じような目的で使うNumPyの関数に、np.arangeがありますね。

こちらは数列のstep幅を指定しましたが、np.linspaceでは要素数を指定する点が異なります。

【NumPy入門 np.arange】等差数列(1,3,5,7..)を生成するarange関数
更新日 : 2019年6月6日

どちらも非常に便利な関数なので、この記事で是非使い方を覚えてくださいね!

np.linspaceの引数と返り値

参考:SciPy.org

numpy.linspace(startstopnum=50endpoint=Trueretstep=Falsedtype=None)

startとstopで指定された区間で、numで指定された要素の等差数列を返します。

Parameters:
start : scalar(数字)

シーケンスの最初の値

stop : scalar

シーケンスの最後の値

num : int, optional

生成するサンプル数、デフォルトは50個になっています。

endpoint : bool, optional

Trueならばstopが最後の値になります。

Falseならばstopの値は数列に含まれません。

デフォルトではTrueです。

retstep : bool, optional

Trueならばstep数も一緒に返されます。返り値の例:(sample, step)

デフォルトではFalseです。

dtype : dtype, optional

出力配列の型を指定できます。

Returns:
samples : ndarray

等差数列を格納した配列を返します。

step : float, optional

restepがTrueの場合だけ返されます。

step幅が返されます。

使い方

以降のコードはJupyterで実行してみてください。

まずはNumPyをimportします。

また、結果の可視化のためにmatplotlibも用意しましょう。

In [1]:

基本的な使い方

最も簡単なnp.linspaceの使い方は、startとstop(開始点と終了点)を指定するだけです。

Out:

第三引数で要素数を変える

要素数を変えるには、第三引数numに値を指定します。

In [5]:
Out:

これまでは昇順の数列でしたが、降順にもできます

第一引数と第二引数の値をstart>endstart>endとするだけでOKです。

In [6]:
Out:

endpointを使って[start, end)な数列を作る

endpointをFalseにした場合、endは必ずしも数列に含まれません。完璧な等差数列を作りたい場合はおすすめです。

In [7]:
Out:

retstepを使って数列のstep幅を取得

retstepをTrueにすると、np.linspaceの返り値の形が変わります。

数列とstep幅をまとめたtuple型が返ってきます。

step幅を確認することができるので使ってみましょう。

In [8]:
Out[8]:
In [9]:
Out:

まとめ

この記事では、等差数列が作れるNumPyの関数、np.linspaceを紹介しました。

np.arangeと同じように、等差数列がほしいタイミングで活躍する関数です。

要素数を指定できる点、末尾の値を優先するか等間隔であることを優先するかを選べる汎用性の高さなど、様々な要求に答えてくれる関数ですね。

是非使いこなして、科学計算や機械学習の実装で役立ててください。

今回の記事は下記の記事を参考にしています。
参考記事:

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

フクロウ

フクロウ

第一言語はPythonです。
皆さんRustやりましょう。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説