【NumPy入門 np.dtype】 配列要素の型を確認・指定してみよう

こんにちは、インストラクターのフクロウです。

この記事ではnp.ndarrayの要素の型を確認したり、設定するためのパラメータ「dtype」を学んでいきます!

この記事の内容

  1. dtypeを使った配列要素の型の確認
  2. dtypeを使った型指定をした配列の初期化
  3. astypeを使った排列要素のキャスト変換
目次

NumPyのdtype(データ型)一覧

np.ndarrayの要素として使える主な型は以下のとおりです。

import numpy as np

dtypes = [
    np.int8,        # 符号あり  8bit 整数 
    np.int16,       # 符号あり 16bit 整数
    np.int32,       # 符号あり 32bit 整数
    np.int64,       # 符号あり 64bit 整数
    np.uint8,       # 符号なし  8bit 整数
    np.uint16,      # 符号なし 16bit 整数
    np.uint32,      # 符号なし 32bit 整数
    np.uint64,      # 符号なし 64bit 整数
    np.float16,     #  半精度 浮動小数点数
    np.float32,     #  単精度 浮動小数点数
    np.float64,     #  倍精度 浮動小数点数
    np.float128,    # 四倍精度 浮動小数点数 
    np.complex64,   # 複素数 (実数・虚数が  float32)
    np.complex128,  # 複素数 (実数・虚数が  float64)
    np.complex256,  # 複素数 (実数・虚数が float128)
    np.bool,        # 真偽値
    np.unicode,     # Unicode文字列
    np.object       # Pythonオブジェクト(へのポインタ)
]

行列計算(例えば内積)をするときに、できれば計算に使う配列のdtypeは合わせるようにしましょう。

そうでないと、意図しないキャスト変換が起こるかもしれません。

事前にdtypeなどで型をチェックしておくことをおすすめします。

ファイル(例えばCSVファイル)からデータを読み込むとき、読み込んだデータを意図したデータ型にしたい場合があります。

そんなとき、np.ndarrayを作るときにdtypeパラメータを指定しましょう!

[出力結果]

[1. 2. 3.] float16
[1. 2. 3.] float128
[1.+2.j 2.-3.j] complex64

scikit-learnでデータセットを読み込んだとき、データが既にnp.ndarrayになっているものがあります。

読み込んだ配列が意図しないデータ型になっていたならば、astypeメソッドでデータ型を変更してしまいましょう!

まとめ

この記事では、NumPyの配列の型を設定・確認するdtypeパラメータについて紹介しました。

効率的な行列計算を行うには、配列要素のデータ型を適切に設定することが大切です!

type関数では配列の要素の型まではわからないので、dtypeを適切に使いこなせるようになりましょう!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次