コンテンツにスキップ

np.arrangeを使って配列を作成する方法を解説!

[

NumPy arange(): np.arange()の使い方

np.arange()の戻り値とパラメータ

NumPyのarange()は、数値範囲に基づいた配列作成のための関数の一つです。この関数は均等にスペースされた値を持つndarrayのインスタンスを作成し、その参照を返します。

arange()は、以下の4つのパラメータを使用して、配列に含まれる値の範囲、その間のスペース、および型を定義します。

numpy.arange([start, ]stop, [step, ], dtype=None) -> numpy.ndarray
  1. startは配列内の最初の値を定義する数値(整数または小数)です。
  2. stopは配列の終わりを定義する数値であり、配列には含まれません。
  3. stepは、配列内の2つの連続する値の間の間隔(差)を定義する数値であり、デフォルト値は1です。
  4. dtypeは、出力配列の要素の型を指定するもので、デフォルト値はNoneです。

stepはゼロにすることはできません。さもないと、ZeroDivisionErrorが発生します。増減値が0の場合は、startからどこにも移動できません。

dtypeが省略された場合、arange()は整数となります。

以下では、np.arange()のより詳細な使い方を説明します。

np.arange()の範囲の引数

np.arange()では、異なる範囲の引数に基づいて配列を作成することができます。具体的な例としては以下のようなものがあります。

全ての範囲の引数を指定する

import numpy as np
arr = np.arange(0, 10, 2)
print(arr)

出力:

[0 2 4 6 8]

2つの範囲の引数を指定する

import numpy as np
arr = np.arange(5, 15)
print(arr)

出力:

[ 5 6 7 8 9 10 11 12 13 14]

1つの範囲の引数を指定する

import numpy as np
arr = np.arange(5)
print(arr)

出力:

[0 1 2 3 4]

ネガティブな引数を指定する

import numpy as np
arr = np.arange(10, 0, -2)
print(arr)

出力:

[10 8 6 4 2]

逆順にカウントする

import numpy as np
arr = np.arange(5, -1, -1)
print(arr)

出力:

[5 4 3 2 1 0]

空の配列を取得する

import numpy as np
arr = np.arange(0)
print(arr)

出力:

[]

np.arange()はこれらの範囲の引数を指定することで、様々な配列を作成することができます。

np.arange()のデータ型

np.arange()は、指定された範囲の引数に基づいて、指定されたデータ型で配列を作成します。データ型の指定はdtypeパラメータを使用して行います。

import numpy as np
arr = np.arange(0, 5, dtype=float)
print(arr)

出力:

[0. 1. 2. 3. 4.]

np.arange()を使った単純な範囲の作成を超えて

np.arange()を使うことで、単純な範囲の作成を超えた様々な使い方ができます。例えば、配列内の値を特定の値で置き換えることや、特定の条件に基づいて値をフィルタリングすることができます。

詳細な使い方については、公式ドキュメントや他のチュートリアルを参照してください。

rangeとnp.arange()の比較

range()はPythonの組み込みクラスであり、np.arange()とは異なるところがあります。以下では、range()とnp.arange()の比較を行います。

パラメータと出力

range()とnp.arange()には、範囲の引数を指定するパラメータがありますが、それ以外のパラメータは異なります。

range():

range(start, stop, step)

np.arange():

np.arange(start, stop, step, dtype=None)

また、range()はrange objectを返しますが、np.arange()はndarrayオブジェクトを返します。

シーケンスの作成

range objectはイテラブルなシーケンスを作成しますが、ndarrayオブジェクトは数値の配列としてのシーケンスを作成します。

Python forループなど、イテラブルなオブジェクトを使用した処理にはrange()を使い、数値の配列としてのシーケンスを扱う場合にはnp.arange()を使うと良いでしょう。

数値範囲に基づいた他のルーチン

NumPyには、np.arange()と似た数値範囲に基づいた他のルーチンもあります。例えば、np.linspace()やnp.logspace()などがあります。

これらのルーチンは、特定の条件に合わせた配列を作成する際に便利です。

まとめ

この記事では、NumPyのnp.arange()の使い方について詳しく説明しました。np.arange()は数値範囲に基づいた配列作成のための非常に便利な関数であり、Pythonの他のライブラリとの連携にも役立ちます。

np.arange()を使うことで、様々な範囲の引数を指定して、均等にスペースされた値を持つ配列を作成することができます。さらに、np.arange()を使った数値範囲の作成を超えた使い方や、他のNumPyのルーチンについても学びました。

NumPyの使用に慣れることで、数値計算やデータ処理の効率を向上させることができます。ぜひ、実際にコードを書いて動かしてみてください。