等差数列を作るためにはnumpy.linspace()を使うと話をした。しかしlinspace()は要素数を指定するためにかえって混乱を招くことがある。そこで便利なのが公差を指定して配列を作ってくくれる。numpy.arange()である。
numpy.arange()の基本
そもそも公差が指定できるならば、先にnumpy.arange()を説明すればよいのではないかという質問がある。確かにnumpyのマニュアルを見ても、aragen()はlinspace()よりも先に記載されている。だからことlinspace()を先に説明した。arange()を先に説明すればおそらく9割の作業はarangeで済ますことができる。しかし残りの1割くらいは要素数を指定するパターンもある。そのようなときに戸惑わないようしている。
arange()とlinspace()は両方とも等差数列を作るための関数である。arangeは公差、linspace()は要素数を指定する。
マニュアルはこちら : numpy.aragen()
numpy.arangeの使い方
arange()で使う主な引数はstart, end, stepである。startは開始点、endは終了点、stepは公差を指定する。
以下では開始点0、終了点100、公差2の数列を生成する。
print(np.arange(0,100, 2)) # [ 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98]
stopだけを指定
引数を一つだけ与えられた場合、stopを指定し、start=0、step=1の数列を生成する。
print(np.arange(12)) # [ 0 1 2 3 4 5 6 7 8 9 10 11]
startとstopを指定
引数を2つ与えると、startとstopを指定することになる。
print(np.arange(3, 12)) # [ 3 4 5 6 7 8 9 10 11]
start, stop, stepを指定
引数を3つ指定すると、start, stop, stepを指定することになる。
print(np.arange(3, 12,2)) # [ 3 5 7 9 11]