スポンサーリンク

【Python】Numpyチートシート・基礎コマンド

スポンサーリンク
スポンサーリンク
この記事は約7分で読めます。

Numpyの基礎的なコマンドをまとめました。

Numpyをインポート

ベクトルの作成

ベクトルの中身を表示

行列を作成

行列の中身を表示

行列の要素を取得

型を調べる

データ型を調べる

array.dtypeでデータ型を調べることができます。

データ型の指定

numpy配列作成時などに引数でデータ型を指定することができます。

データ型の種類

int8,int16,int32,int64(符号付き整数)

float8,float16,float32,float64(浮動小数点数)

unit8,unit16,unit32,unit64(符号なし整数)

bool(真偽値:True,False)
complex(複素数)

行列の演算

ブロードキャスト


行列の形を確認

numpy配列が何行何列でできているかを確認します。

行列の形を変更

x行y列のnumpy配列を指定した行列数に変えます。

次元の追加

次元の削除

1次元に変換

スライス

等差数列の作成(ステップ値で区切る)

等差数列の作成(区切り回数を指定)

全要素が0の配列を作成

全要素が1の配列を作成

単位行列の作成

乱数を作成

同じ乱数を生成:np.random.seed(0)

引数の数字は0でなくても良い。

np.random.randなどで乱数を発生させる前には、都度np.random.seed()を実行する。

引数を変えることで発生する乱数は変わるため、引数を指定することで常に複数の同じ乱数を発生させることができる。

標準正規分布に従う乱数を作る:np.random.randn()

np.random.randn()で平均0、分散1の標準正規分布に従う乱数を作ることができます。

引数で行列数を指定することができます。

任意の正規分布から乱数を生成する

 

最小値・最大値・行列のサイズを指定して配列を作成

 

配列の形状変更

変更前と変更後の配列の要素数が異なる場合に用いる。

変更後の要素数の方が少ない場合は後ろの要素は削られる。

変更後の方が要素数が多い場合は0で埋められる。

 

指定した範囲内でランダムに値を取得

In-Place処理

対象の配列を直接編集すること。メモリを節約する。

[1]

.sort()はIn-Place処理であるため、np.array_2にはソートされたnp.arrayは代入されず、np.arrayが直接ソートされます。

その次のprint関数でもnp.arrayとnp.array_2を出力すると、ソートされた結果である[1,2,3]とNoneが出力されています。

ビュー

あるnumpy配列を別のnumpy配列に代入し、

一方の配列の要素を変更すると、もう一方も変更されます。(配列が3つ以上でも同様です。)

ビューが作成され、元のnumpy配列をメモリを共有していることが理由です。

 

配列のコピー:copy()

配列をコピーするcopy()を用いることで、メモリを共有せずに別の配列として作成することができます。

これにより、一方で要素を変更してももう一方には影響がありません。

 

ソートされたインデックスを取得:argsort()

argsort()を用いることで、対象のnumpy配列について値が小さい順にインデックスを取得することができます。

[1]

コード例のように、array([2,1,0] , dtype=int64)とありますが、これは値の小さい順にインデックスが表示されています。

元のnumpy配列が[3,2,1]なので、確かに逆からインデックスを見ると[2,1,0]であり、値が小さい順になっています。

 

編集予定

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

コメント