single
1次元配列の作成関数
メニューを表示するにはスワイプしてください
要素を明示的に指定して配列を作成する基本的な方法に加えて、numpy では特別な関数を使って配列を自動的に作成することも可能です。ここでは、1次元配列を作成するための代表的な2つの関数を紹介します。
arange();linspace().
arange()
numpy.arange() 関数は、Pythonの組み込み関数 range() に似ていますが、ndarray を返します。基本的に、指定した区間内で等間隔の要素を持つ配列を作成します。
例えば、区間が 0 から 10 でステップサイズが 2 の場合、生成される配列は [0, 2, 4, 6, 8] となります。
主な3つのパラメータとその役割は以下の通りです。
-
start:- デフォルト値:
0; - 配列の最初の要素を表します。
- デフォルト値:
-
stop:- デフォルト値なし;
- 終端値を定義しますが、この値は配列に含まれません。
-
step:- デフォルト値:
1; - 各要素に加えられる増分を指定します。
- デフォルト値:
12345678910import numpy as np # Creating an array of integers from 0 to 11 exclusive with step=1 array_1 = np.arange(11) print(array_1) # Creating an array of integers from 1 to 11 exclusive with step=1 array_2 = np.arange(1, 11) print(array_2) # Creating an array of integers from 0 to 11 exclusive with step=2 array_3 = np.arange(0, 11, 2) print(array_3)
linspace()
arange() は実数にも対応していますが、この目的では numpy.linspace() が numpy.arange() より推奨されます。なぜなら arange() はステップ計算時に浮動小数点の精度誤差による予期しない結果を生じる可能性があるからです。対照的に、linspace() は区間内に等間隔の特定数の点を生成し、精度と一貫性を確保します。
linspace() では step パラメータの代わりに num パラメータを使用し、指定した区間内のサンプル数(数値の個数、デフォルトは 50)を決定します。
1234567import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_1 = np.linspace(0, 1, 5) print('Example 1:', array_1) # Generating 7 equally spaced values between -1 and 1 (inclusive) array_2 = np.linspace(-1, 1, 7) print('Example 2:', array_2)
Endpoint
endpoint パラメータは stop 値を含めるかどうかを決定します。デフォルトは True(含む)です。False に設定すると stop 値を除外し、ステップ幅がわずかに小さくなります。
array_inclusive と array_exclusive の比較例:
1234567import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_inclusive = np.linspace(0, 1, 5) print('Endpoint = True:', array_inclusive) # Generating 5 equally spaced values between 0 and 1 (exclusive) array_exclusive = np.linspace(0, 1, 5, endpoint=False) print('Endpoint = False:', array_exclusive)
endpoint=True の場合、区間 [0,1] は4つの等しい区間に分割され、終端 自体(1)も含まれます。このときのステップ幅は (1−0)/4=0.25 です。
endpoint=False の場合、区間 [0,1) は5つの等しい区間に分割され、終端は含まれません。このときのステップ幅は (1−0)/5=0.2 です。
スワイプしてコーディングを開始
arange()関数を使用してeven_numbers配列を作成します。- 引数を指定して、
2から21未満の偶数の配列を作成します。 - 指定した区間内で値の個数を指定できる関数を使って
samples配列を作成します。 - 最初の3つの引数を指定して、
10から5の間に等間隔で6個の数値を持つ配列を作成します。 6配列にsamplesが含まれないようにします。
解答
フィードバックありがとうございます!
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください