numpy – 配列の生成

リテラル

要素をリテラルで指定する。

2次元配列は行列形式できれいに表示されるが、3次元以上は1行表示になる。

リストでもタプルでも結果は同じ。

自動生成

全要素が0、1の配列

np.zeros(shape, [dtype=None], [order='C'])
np.ones(shape, [dtype=None], [order='C'])

引数はどちらも同じで、配列形状、データタイプ、行列優先の指定。

内包表記

リストの内包表記が使える。

range()関数

普通にrange関数も使える。

numpy.arange()

numpy.arrange([start=0], stop, [step=1], [dtype=None])

numpy.arange()関数はrange()関数よりも高速な生成が可能。

range()関数と同じようにパラメータを設定。dtypeはデータ型を指定。

range()関数は整数しか引数に指定できないが、numpy.arange()関数はfloatの指定が可能。

 

numpy.linspace()

numpy.linspace(start, stop, [num=50], [endpoint=True], [retstep=False], [dtype=None])

初期値と終了値を指定して、その間を等分割したリストを返す。間隔数を指定しないとデフォルトで50分割。基本の型はfloat。

分割数の指定が可能。

この分割数は区間数ではなく、生成される数列の個数である点に注意。以下の例では0~1の間で10個の数値を生成させるため、区間数は9となる(植木算の考え方)。

デフォルトでは終端値を含めるが、含めないようにもできる。

生成された数列と分割幅のタプルを返すことができる。

 

特定の行列の生成

numpy.identity()~単位行列

numpy.identity(n)

正方行列の1辺の要素数を指定して、単位行列を生成する。

numpy.tri()~下三角行列

numpy.tri(n)

左下の要素が1の下三角行列を生成する。

numpy.tril()、numpy.triu()

numpy.tril(matrix)
nunmpy.triu(matrix)

与えられた行列を下三角/上三角化。

reshape()による配列化

ベクトルの行列化

numpy.reshape(source, shape)でsourceに指定したベクトルをshapeで指定したサイズの行列に変換。shapeはリストやタプルでサイズを指定。

行列のサイズ変更

行列を同じ要素数で異なるサイズに変更可能。

arange()との組み合わせ

よく見かける、arange()で生成したベクトルの行列化。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です