python PR

【Python】Numpyのチートシート完全版!データサイエンスで必須なもの

記事内に商品プロモーションを含む場合があります
えいせい
えいせい
ど~も!データサイエンティストのえいせいです。

このブログではデータサイエンスに関わる情報を発信しています。

今回はnumpyのチートシートです。
データ分析の実務で使う関数を中心にまとめてあります。

やりたい事別にセクションを分けていますので、目次を参考に活用ください。

 

numpyで配列の作成

配列の作成で使う関数まとめです。

  • np.array(): 与えられたリスト、タプル、配列などからNumPy配列を作成します。
  • np.zeros(): 全ての要素が0のNumPy配列を作成します。
  • np.ones():全ての要素が1のNumPy配列を作成します。
  • np.empty(): 初期化されていないNumPy配列を作成します。
  • np.arange(): 指定した範囲の等間隔の数値を持つNumPy配列を作成します。
  • np.linspace(): 指定した範囲内で等間隔に分布する数値を持つNumPy配列を作成します。
  • np.logspace(): 指定した範囲内で対数スケール上に等間隔に分布する数値を持つNumPy配列を作成します。
  • np.random.rand(): 0から1の間のランダムな数値を持つ指定された形状のNumPy配列を作成します。
  • np.random.randn(): 平均値0、標準偏差1の正規分布に従うランダムな数値を持つ指定された形状のNumPy配列を作成します。

 

 

numpyで配列の形状を変える

続いて、作成した配列の形状変化を行うものです。

  • np.reshape(array, newshape):配列arrayの形状をnewshapeに変更する。ただし、変更後の要素数と変更前の要素数が一致する必要がある。
  • np.ravel():多次元配列を1次元に平坦化する。
  • np.flatten():多次元配列を1次元に平坦化する。np.ravelと違い、複製を作成して返すため、aのコピーが生成されることに注意が必要。
  • np.transpose():多次元配列aの転置行列を返す。array.Tとしても大丈夫。

 

numpyで配列の操作を行う

続いて配列の操作を行う関数を見ていきましょう!

配列のスライス

  • np.ndarray[start:stop:step]:指定した範囲でスライスします。startは開始位置、stopは終了位置、stepはステップ数を指定します。

 

 

配列の結合

  • np.concatenate():配列を結合します。第1引数に結合したい配列を指定し、第2引数に結合する軸を指定します。
  • np.vstack():垂直方向に配列を結合します。
  • np.hstack():水平方向に配列を結合します。
  • np.stack():新しい軸を追加して配列を結合します。第1引数に結合したい配列を指定し、第2引数に新しい軸の位置を指定します。

 

 

配列の演算

続いては配列の演算です。
データサイエンスでは良く使う部分ですね!

  • np.add() : 配列同士または配列とスカラーの加算を行う
  • np.subtract() : 配列同士または配列とスカラーの減算を行う
  • np.multiply() : 配列同士または配列とスカラーの乗算を行う
  • np.divide() : 配列同士または配列とスカラーの除算を行う
  • np.power() : 配列同士または配列とスカラーの累乗を計算する
  • np.mod() : 配列同士または配列とスカラーの剰余を計算する
  • np.exp() : 配列の各要素に指数関数を適用する
  • np.log() : 配列の各要素に自然対数を適用する
  • np.log10() : 配列の各要素に10を底とする対数を適用する
  • np.sin() : 配列の各要素に正弦関数を適用する
  • np.cos() : 配列の各要素に余弦関数を適用する
  • np.tan() : 配列の各要素に正接関数を適用する
  • np.sqrt() : 配列の各要素の平方根を計算する
  • np.dot() : 行列積を計算する
  • np.sum() : 要素の和を計算する。
  • np.mean() : 平均値を計算する。
  • np.std() : 標準偏差を計算する。
  • np.max() : 最大値を取得する。
  • np.mon() : 最小値を取得する。

 

配列の処理

欲しい情報を抽出したり、ランダムに値を取りだす方法です。

whereとunique

  • np.where(condition, x, y) : conditionに従ってxまたはyから要素を選択して新しい配列を返す。
  • np.unique : 配列内のユニークな値を抽出する。

 

要素をランダムに取り出す

  • np.random.rand(): 0から1の間のランダムな数値を持つ指定された形状のNumPy配列を作成します。
  • np.random.randn(): 平均値0、標準偏差1の正規分布に従うランダムな数値を持つ指定された形状のNumPy配列を作成します。
  • np.random.randint():指定された範囲内の整数値からランダムな値を生成します。
  • np.random.choice():与えられた配列からランダムな要素を選択します。
  • np.random.shuffle():配列の要素をランダムにシャッフルします。
  • np.random.seed():疑似乱数生成器に与えるシードを設定します。同じシードを使用すると、同じランダムな結果を生成します。
  • np.random.permutation():与えられた配列の要素をランダムに並び替えた新しい配列を返します。
  • np.random.uniform():指定された範囲内の一様分布からサンプリングしたランダムな値を持つ配列を生成します。
  • np.random.normal():指定された平均と標準偏差を持つ正規分布からサンプリングしたランダムな値を持つ配列を生成します。
  • np.random.gamma():指定された形状と尺度を持つガンマ分布からサンプリングしたランダムな値を持つ配列を生成します。

 

 

ファイルの読み込み・書き込み

以下がnumpyでファイルの読み込み・書き込みを行う関数の一覧です。

  • np.loadtxt() : テキストファイルから配列を読み込む。
  • np.genfromtxt() : テキストファイルから配列を読み込む。loadtxtより高機能で、欠損値処理やデータ型の指定が可能。
  • np.savetxt() : テキストファイルに配列を書き込む。
  • np.save() : バイナリ形式で配列を保存する。
  • np.savez() : 複数の配列を一つのファイルに保存する。
  • np.load() : 保存されたバイナリファイルから配列を読み込む。

 

 

いかがでしたでしょうか?
Numpyの重要項目はほぼほぼ網羅していると思います。

ちなみにpandasのチートシートを見たい方は↓をどうぞ!

【最新版】pandasチートシートでデータ分析の効率アップ!使い方を徹底解説ど~も!データサイエンティストのえいせいです。 pythonのコードを書いていてよく、「あれっ、あの関数どうやって書くんだっけ?」...

Work illustrations by Storyset
 

あなたにおススメの記事