NumPyデータ型
Pythonのデータ型
デフォルトでは、Pythonには次のデータ型があります。
strings
-テキストデータを表すために使用され、テキストは引用符で囲まれています。例:「ABCD」integer
-整数を表すために使用されます。例:-1、-2、-3float
-実数を表すために使用されます。例:1.2、42.42boolean
-TrueまたはFalseを表すために使用されます。complex
-複素数を表すために使用されます。例:1.0 + 2.0j、1.5 + 2.5j
NumPyのデータ型
i
NumPyにはいくつかの追加のデータ型があり、整数、u
符号なし整数などのように、1文字のデータ型を参照します。
以下は、NumPyのすべてのデータ型とそれらを表すために使用される文字のリストです。
i
-整数b
-ブール値u
-符号なし整数f
- 浮くc
-複雑なフロートm
-タイムデルタM
- 日付時刻O
- 物体S
- ストリングU
-ユニコード文字列V
-他のタイプのメモリのチャンクを修正しました(void)
配列のデータ型の確認
NumPy配列オブジェクトには、dtype
配列のデータ型を返すというプロパティがあります。
例
配列オブジェクトのデータ型を取得します。
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)
例
文字列を含む配列のデータ型を取得します。
import numpy as np
arr = np.array(['apple',
'banana', 'cherry'])
print(arr.dtype)
定義されたデータ型で配列を作成する
この関数を使用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'
、float、
integerなどの文字列を使用して指定できます。または、floatやinteger'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)