まずは基本としてNumPyの一次元配列について学習します。
NumPyの配列生成
配列はarray関数にリストやタプルのようなシーケンシャルオブジェクトを指定することで生成することができます。
x = np.array([1, 0, 1]) # array([1, 0, 1])
さまざまな配列生成
配列の生成時に範囲、間隔、個数、型などを指定することができます。
範囲指定 、間隔指定
arangeを使用すると範囲や間隔を指定することができます。
x = np.arange(1, 10) # 1以上10未満の配列を生成 # array([1, 2, 3, 4, 5, 6, 7, 8, 9]) # x = np.arange(1, 10, 2) # 1以上10未満、間隔2の配列を生成 # array([1, 3, 5, 7, 9]) #
個数指定
linspaceを使用すると個数を指定することができます。
x = np.linspace(1, 2, 5) # 1〜2で5個の要素 # array([ 1. , 1.25, 1.5 , 1.75, 2. ]) #
データタイプを指定する
numpyには独自の型があり、引数dtypeで適切な型設定することによりメモリ使用量を節約することができます。詳細な型や型変換については別項にて説明します。上のサンプルのように型を指定しない場合はnumpy.int64となります。例えば、float32を指定する場合は以下のように記述します。
x = np.array([1, 0, 1], dtype='float32')
配列へのデータアクセス
リストやタプルのような通常のシーケンシャルオブジェクトと同様に添字でアクセスすることができます。
# 配列を生成 x = np.array([1, 2, 3, 4, 5]) # 0番目にアクセス x[0] # 1 # スライスで0番目から2番目未満にアクセス x[0:2] # array([1, 2]) # 最後の要素にアクセス x[-1] # 5