すべての記事

【Python】NumPyのdtypeを変更、指定する方法

広告この記事には広告・アフィリエイトリンクが含まれる場合があります。

目次

NumPyの基本的な要素であるdtype属性について紹介します。

NumPyのdtypeとは

dtypeは、NumPyの配列 (ndarray)がどのような形式でメモリに格納されるのかを表しています。

dtypeを使って、メモリの使用量や、演算速度をコントロールします。

dtypeの一覧

dtypeには以下の種類があります。

 データ型

 説明

int

符号あり整数型 (8bit, 16bit, 32bit, 64bit)

uint

符号なし整数型 (8bit, 16bit, 32bit, 64bit)

float

浮動小数点型 (16bit, 32bit, 64bit, 128bit)

complex

複素数型 (32bit, 64bit, 128bit, 256bit)

bool

ブール型

unicode

Unicode文字列

object

Pythonオブジェクト

dtypeを参照する方法

以下方法で、NumPyの配列であるndarrayのdtypeを確認することができます。

ndarray.dtype

これだけでndarrayのdtypeは確認できます。ひょう

実際のコードで表すと以下の通りです。

import numpy as np

ndarray = np.array([[1, 2, 3], [4, 5, 6]]) # ndarrayを作成
dtype = ndarray.dtype # ndarrayのdtypeを取得
print(dtype) # dtypeを出力

実行結果

int64

上記結果から、今回作成したndarrayのdtypeは、int型の64byteであることがわかります。

であることがわかります。

dtypeを変更(キャスト)する方法

dtypeについてわかったところで、続いてdtypeを変更(キャスト)する方法を紹介します!

dtypeを変更するには、ndarrayのメソッド astype()を使用します

astype()の使い方は以下の通りです。

引数には、変換したいデータ型を指定します。

つまり、int型に変更したい場合は、intを引数に指定します!

ndarray.astype(変更したいデータ型)

続いて、サンプルコードを紹介します。

import numpy as np

i_ndarray = np.array([[1, 2, 3], [4, 5, 6]]) # int型のndarrayを作成
print(f"変換前のdtype: {i_ndarray.dtype}")

f_ndarray = i_ndarray.astype(float) # astype関数でdtypeを floatに変換
print(f"変換後のdtype: {f_ndarray.dtype}")

dtypeを指定する方法

ndarrayを作成するときに、dtypeを指定することもできます。

実際のコードで紹介します。

import numpy as np

ndarray = np.array([[1, 2, 3], [4, 5, 6]]) # デフォルトのdtypeでndarrayを作成
print(ndarray.dtype)

u_ndarray = np.array([[1, 2, 3], [4, 5, 6]], 'uint8') # uint8でndarrayを作成
print(u_ndarray.dtype)

実行結果

int64
uint8

dtypeをuint8に指定してndarrayを作成できています!

まとめ

データ分析する際は、データの量が膨大になるため、

ひとつひとつのデータのメモリの使用量を減らす必要があります。

そのときに、役立つのがdtype を最小にすることです。

簡単にメモリ節約になるので、ぜひ覚えて活用していきましょう!

コメント

コメントはまだありません