PythonでNumPy配列のデータ型を変更する方法(astypeの使い方)
NumPy配列のデータ型を変更するには、astype(data_type)メソッドを使用します。例えば、float64型のNumPy配列がある場合、astype()メソッドに変換したいデータ型を指定するだけで、int32型へと簡単に変更できます。
また、NumPy配列の現在のデータ型は、dtype属性を使って確認できます。まずは、サンプルのNumPy配列のデータ型を確認してみましょう。
サンプルコード:データ型の確認
# NumPyライブラリをインポート import numpy as np # NumPy配列を作成 array = np.array([1, 2, 3, 4, 5]) # NumPy配列のデータ型を出力 print(array.dtype)
実行結果
上記のコードを実行すると、次のような出力が得られます。
int32
続いて、NumPy配列のデータ型をfloat64からint32へ変更する方法を見ていきましょう。
サンプルコード:astype()によるデータ型の変更
# NumPyライブラリをインポート
import numpy as np
# float64型のNumPy配列を作成
array = np.array([1.5, 2.6, 3.7, 4.8, 5.9])
# 変更前のデータ型を出力
print(f'Before changing {array.dtype}')
# astype()メソッドを使ってデータ型を変更
array = array.astype(np.int32)
# 変更後のデータ型を出力
print(f'\nAfter changing {array.dtype}')実行結果
上記のプログラムを実行すると、次のような出力が得られます。
Before changing float64 After changing int32
このように、astype()メソッドを使えば、NumPyモジュールに用意されている任意のデータ型や、Pythonの一般的なデータ型へ自由に変換することが可能です。NumPyで利用できるデータ型の一覧は、公式ドキュメントで確認できます。
注意点
float64からint32への変換では、小数点以下が切り捨てられることに注意してください。例えば、1.5は1に、5.9は5になります。意図しないデータ損失を防ぐためにも、変換前後の値は必ず確認しておきましょう。
まとめ
本記事では、astype()メソッドを使ったNumPy配列のデータ型変換について解説しました。dtype属性による型の確認方法も合わせて覚えておくと、データ処理の際に非常に便利です。チュートリアルに関する質問や不明な点があれば、コメント欄でお気軽にお尋ねください。
-
Pythonでデータ型を文字列に変換する方法|str()関数と__str__()メソッドの使い方
Pythonでは、str()関数を使うことで、あらゆる組み込みデータ型(int、float、complex、list、tuple、dictなど)を簡単に文字列表現へ変換できます。また、ユーザー定義クラスの場合は__str__()メソッドを定義しておくことで、オブジェクトをわかりやすい文字列として出力できるようになります。組み込みデータ型を文字列に変換するstr()関数の引数に数値やリストなどのオブジェクトを渡すと、その文字列表現が文字列(str型)として返されます。>>> str(10) 10 >>> str(11.11) 11.11 >>>
-
Pythonのデータ型と型変換をわかりやすく解説
この記事では、Pythonにおける主要なデータ型の種類と、それぞれの使い方、そしてデータ型同士を変換する方法について詳しく解説します。 Pythonの組み込みデータ型一覧 Pythonでは変数を作成・宣言する際に、さまざまなデータ型を持たせることができます。Pythonには以下のような組み込みデータ型が用意されています。 str(文字列) int、float、complex(数値) list、tuple(シーケンス) dict(辞書) set(集合) bool(ブール値) bytes、bytearray(バイナリ) それでは、各データ型の特徴と作成方法を順番に見ていきましょう。 文字列型: