NumPy配列の要素のデータ型

ndarrayを生成すると要素のデータ型はだいたいデフォルトでfloat64という浮動小数点型になる。 np.arangeはint64という整数になる。

要素のデータ型はdtypeという属性で確認することができる。

from pprint import pprint

npdata = np.array([[1.0, 2.0, 3.0], [11.0, 12.0, 13.0]])

print(npdata.dtype)
# 出力結果
# float64

pprint(npdata.dtype)
# 出力結果
# dtype('float64')

# 整数のPython配列でndarrayを生成すると、int64になるみたい
npdata1 = np.array([1, 2, 3])
print(npdata1.dtype)
# 出力結果
# int64

np.arraydtypeという名前の引数を渡すことで生成するndarrayの要素型を指定できる。

npdata = np.array([[1.0, 2.0, 3.0], [11.0, 12.0, 13.0]], dtype=np.int32)

print(npdata)
#  出力結果
# [[ 1  2  3]
#  [11 12 13]]

print(npdata.dtype)
#  出力結果
# int32

データ型には以下のようなものがある。

型名の数字はビット数を表す。複素数は浮動小数点2つで表されるので、complex64はfloat32 2つ分に相当する。

複素数は虚部に j というサフィックスを付けて表す。複素数はデフォルトでは complex128 になる。

ndarr1 = np.array([-1.5 + 1.0j, -0.5 - 1.0j, -0.0, 1.0j, 0.5 + 1.0j])

print(ndarr1)
# 出力結果
# [-1.5+1.j -0.5-1.j -0.0+0.j  0.0+1.j  0.5+1.j]

print(ndarr1.dtype)
# 出力結果
# complex128

print(np.abs(ndarr1))
# 出力結果
# [ 1.80277564  1.11803399  0.          1.          1.11803399]

print(np.abs(ndarr1).dtype)
# 出力結果
# float64
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。