非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Python】Numpy配列にデータ型を指定する

   

PythonのNumpyは何も指定しなければint64型になりますが、初期化の際にあえて型を指定することができます。

import numpy as np

a1=np.arange(5)
print(a1)
print(a1.dtype)

<h1>[0 1 2 3 4]</h1>

<h1>int64</h1>

a2=np.arange(5,dtype='int16')

<h1>a2=np.array([0, 1, 2, 3, 4],dtype='int16') #これでもOK</h1>

print(a2)
print(a2.dtype)

<h1>[0 1 2 3 4]</h1>

<h1>int16</h1>

a3=np.arange(5,dtype='float')
print(a3)
print(a3.dtype)

<h1>[0. 1. 2. 3. 4.]</h1>

<h1>float64</h1>

a4=np.array([0, 1, 2, 3, 4],dtype='unicode') #arangeは使えない
print(a4)
print(a4.dtype)

<h1>['0' '1' '2' '3' '4']</h1>

<h1>&lt;U1</h1>

a5=np.array([0, 1, 2, 3, 4],dtype='bool') #arangeは使えない
print(a5)
print(a5.dtype)

<h1>[False  True  True  True  True]</h1>

<h1>bool</h1>

 

 

使える型は以下のとおり。

np.int8,        # 符号あり  8bit 整数 
np.int16,       # 符号あり 16bit 整数
np.int32,       # 符号あり 32bit 整数
np.int64,       # 符号あり 64bit 整数
np.uint8,       # 符号なし  8bit 整数
np.uint16,      # 符号なし 16bit 整数
np.uint32,      # 符号なし 32bit 整数
np.uint64,      # 符号なし 64bit 整数
np.float16,     #  半精度 浮動小数点数
np.float32,     #  単精度 浮動小数点数
np.float64,     #  倍精度 浮動小数点数
np.float128,    # 四倍精度 浮動小数点数 
np.complex64,   # 複素数 (実数・虚数が  float32)
np.complex128,  # 複素数 (実数・虚数が  float64)
np.complex256,  # 複素数 (実数・虚数が float128)
np.bool,        # 真偽値
np.unicode,     # Unicode文字列
np.object       # Pythonオブジェクト(へのポインタ)

 

 

スポンサーリンク

 - Python