ndarray – 配列の生成

リテラル

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

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

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

自動生成

配列形状を指定して全要素を特定の値で埋める

全要素が0、1の配列

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

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

多次元配列を生成する場合、配列のサイズをタプルとして引数に渡す。

全要素の数値を指定

numpy.full(shape, fill_value, [dtype=None], [order='C'])]

他の配列と同じ形状で特定の値を埋める

全要素が0、1の配列

numpy.zeros_like(a, [dtype=None], [order='C'])
numpy.ones_like(a, [dtype=None], [order='C'])

全要素の値を指定

numpy.full_like(a, fill_value, [dtype=None], [order='C'])]

 初期化せず配列枠だけ確保する

zeros()ones()と同じで、配列の形だけを確保するが各要素は初期化しない。

この場合も多次元配列ではサイズのタプルを引数で渡す。

配列形状を(1, 1)で指定すると、1要素の2次元配列が確保される。

配列形状を数値0で指定すると、空の配列が確保される。

配列形状で0の次元が含まれると空の配列になる。

内包表記

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

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)

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

コメントを残す

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