NumPyのデータ型
- 前のページ NumPyの配列のカット
- 次のページ NumPyのコピー/ビュー
Pythonのデータ型
デフォルトでは、Pythonには以下のデータ型があります:
strings
- テキストデータを表します。テキストは引用符で囲まれます。例えば"ABCD"。integer
- 整数を表します。例えば-1、-2、-3。float
- 実数を表します。例えば1.2、42.42。boolean
- TrueまたはFalseを表します。complex
- 異なる複素数平面の数を表します。例えば1.0 + 2.0j、1.5 + 2.5j。
NumPyのデータ型
NumPyにはいくつかの追加データ型があり、それらはキャラクターで参照されます。例えば i
整数を表します。u
無符号整数などを表します。
以下はNumPyのすべてのデータ型のリストおよびそれらを表す文字です。
i
- 整数b
- 布尔u
- 无符号整数f
- 浮動小数点c
- 異なる浮動小数点数m
- timedeltaM
- datetimeO
- オブジェクトS
- 文字列U
- unicode文字列V
- 固定のその他の型のメモリブロック(void)
配列のデータ型を確認します
という名前の属性があります。 dtype
NumPy配列オブジェクトには、
インスタンス
の属性を取得します。この属性は配列のデータ型を返します:
import numpy as np 配列オブジェクトのデータ型を取得します: arr = np.array([1, 2, 3, 4])dtype)
インスタンス
print(arr.
import numpy as np 文字列を含む配列のデータ型を取得します: print(arr.dtype)
arr = np.array(['apple', 'banana', 'cherry'])
既定のデータ型で配列を作成します: array()
関数で配列を作成します。この関数はオプションの引数を使用できます:dtype
配列の要素の期待されるデータ型を定義できます:
インスタンス
データ型文字列で配列を作成します:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='S') print(arr) print(arr.dtype)
次に i
、u
、f
、S
および U
サイズも定義できます。
インスタンス
4バイトの整数データ型の配列を作成します:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='i4') print(arr) print(arr.dtype)
値が変換できない場合はどうなりますか?
要素の型を強制的に変換することができない場合、NumPyはValueErrorを発生させます。
ValueError:Python では、関数に非期待または不正なタイプのパラメータが渡された場合に ValueError が発生します。
インスタンス
非整数の文字列(例えば 'a')を整数に変換することはできません(エラーが発生します):
import numpy as np arr = np.array(['a', '2', '3'], dtype='i')
既存の配列のデータ型を変換する
既存の配列のデータ型を変更する最善の方法は、 astype()
メソッドはその配列をコピーします。
astype()
関数は配列のコピーを作成し、データ型をパラメータとして指定することができます。
データ型は文字列として指定することもできます。 'f'
は浮点数を示します。'i'
は整数などの表示など、データ型を直接使用することもできます。 float
は浮点数を示します。int
は整数を示します。
インスタンス
使用することで 'i'
パラメータ値としてデータ型を浮点数から整数に変更する:
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype('i') print(newarr) print(newarr.dtype)
インスタンス
使用することで int
パラメータ値としてデータ型を浮点数から整数に変更する:
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype(int) print(newarr) print(newarr.dtype)
インスタンス
データ型を整数からボルンに変更する:
import numpy as np arr = np.array([1, 0, 3]) newarr = arr.astype(bool) print(newarr) print(newarr.dtype)
- 前のページ NumPyの配列のカット
- 次のページ NumPyのコピー/ビュー