Python

Python初学者向け:関数を使ってndarrayを作る方法を基本から解説

スポンサーリンク

 

この記事はこんな方におススメです
  • Pythonを始めたばかりで基本から学びたい方
  • Pythonの基本的な部分を速習してまずは全体像を把握しておきたい方

▶ ndarrayの基本について初めから読みたい場合は以下の記事をどうぞ

はじめに

今回は関数を使ってndarrayを作る方法を基本から解説していきます。これまではnp.array()にリストを入れる方法でndarrayを作ってきましたが、他にも便利な方法があります。今回はこれを整理していくことにしましょう。

関数でndarrayを作る

np.arange

指定した区間を等間隔で区切った値を返すのがnp.arange()です。Pythonのrange関数のイメージです。返り値がndarrayとなる点が異なります。

np.arange(start=0, stop, step=1)

startからstopまでの等間隔の値を持つ配列を作ります。stepで間隔を指定することができる。指定しない場合のdefault値は1となります。試してみましょう。

import numpy as np
np.arange(1,100)
np.arange()によるndarrayの作成

stepを省略した場合はdefaultで1となります。次にstepを指定してみましょう。

np.arange(1,100,2)
step2でndarrayを作成

1から100までstep2で取得なので1,3,5、・・・で99まで取得できました。startとstepを省略することもできます。

np.arange(100)
np.arangeでstopだけを指定

これはnp.arange(1,100)と一緒ですね。

setには負の値を指定することができます。

np.arange(100,1,-10)
stepに負の値を指定

stepが負の値の時にはstartの値がstopの値よりも大きくする必要があります。100から1までstep-10なので100,90,…10が取得できます。

np.linspace

指定した区間を等間隔で区切った値を返す関数としてnp.linspace()もあります。np.arange()と異なり要素数を指定します。

np.linspace(start, stop, num=50)

やってみましょう。

np.linspace(1,50)
np.rinspaceでndarrayを作成

1から50以下の数字を50個取り出しています。取り出す個数numはdefaultでは50となります。numを指定してみましょう。

np.linspace(0,50,6)
np.linspaceでnumを指定した場合

0から50まで等間隔に6つの数字を取り出します。0,10,20,30,40,50が取り出されていますね。

np.logspace

np.linspace()のログバージョンがnp.logspace()となります。

np.logspace(start, stop, num=50, base=10)

対数スケールで等間隔の数値を返します。対数の底はdefaultでは10です。少しわかりにくいですが、start~stopをlinspaceのやり方で等間隔にnum個抽出して、$base^{start},…base^{stop}$を抽出します。やってみましょう。

np.logspace(0,2,num=3)
np.logspaceによるndarrayの作成

startが0, stopが2でnumが3です。linspaceの考え方で区切ると0,1,2が返ってきます。logspaceの場合はこれを底の乗数とするので、いまデフォルトで底は10なので$10^{0},10^{1},10^{2}$つまり、$1,10,100$が返ってくる、というわけです。

スポンサーリンク

まとめ

今回は関数を使ってndarrayを作る方法を扱いました。

  • np.arange(start=0, stop, step=1)
  • np.linspace(start, stop, num=50)
  • np.logspace(start, stop, num=50, base=10)

コメント

タイトルとURLをコピーしました