numpyのastypeとdtype、ndarrayのデータ型について
numpyのastypeとdtypeメソッド
numpyのメソッドであるastypeとdtypeメソッドについてメモ。
astype
astypeは、ndarrayの要素のデータ型を別のデータ型にしたndarrayを生成します。元のndarrayとは別のadarrayが生成されるので、要素を変更しても元のndarrayには影響しません。
dtype
dtypeは、ndarrayの要素のデータ型を返します。printで出力してあげればそのndarrayの要素のデータ型がわかります。
また、1つのndarrayの要素のデータ型は同じでなければならないため、複数のtypeが返ってくる心配はしなくてよいです。
npdata1 = np.array([1, 2, 3])
print npdata1.dtype
# 出力結果
# int64
npdata2 = npdata1.astype(np.float64)
print npdata2.dtype
# 出力結果
# float64
npdata2[0] = 10
print npdata1
# 出力結果
# [1 2 3]
print npdata2
# 出力結果
# [ 10. 2. 3.]
下記の説明が分かり易かったです。
NumPy配列の要素のデータ型の変換 | hydroculのメモ
ついでに、下記もメモしておきます。
ndarrayのデータ型について
上述のように、ndarrayの要素のデータ型は統一されています。
しかし、ndarrayを生成する際にデータ型の明記は不要で、生成時にプログラム側で型を判別してdtypeに格納してくれます。
np.array([1,2,3]).dtype
dtype('int64')
np.array([1.2, -2, 0]).dtype
dtype('float64')
という感じです。