NumPy配列の要素のデータ型の変換 2015/04/01
astype
というメソッドでndarrayの要素のデータ型を別のものにしたndarrayを生成することができる。新しくndarrayを生成しているので、要素を変更してももとのndarrayには影響しない。
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.]
偶然同じデータ型を指定した場合は単なるコピーと同じになる。
npdata1 = np.array([1, 2, 3])
npdata2 = npdata1.astype(np.int64)
npdata2[0] = 10
print(npdata1)
# 出力結果
# [1 2 3]
print(npdata2)
# 出力結果
# [10 2 3]