dtype=np.int
とかをよく見かけるが、NumPyのDocumentationを見ても(すべてを見たわけではないので“ほぼ”)見かけない。
Scalarsやdtypeに載っていない。ndarrayやnumpy.arrayではnp.int32
やcomplex
を使っている。なんだこいつと思っていた。
np.int
はint
のエイリアスである。
>>> np.int is int
True
np.int_
はnumpyのクラスである(環境によりビット長は変わる)。
>>> np.int_
<class 'numpy.int64'>
np.intxx
は、もちろんnumpyのクラスである。
>>> np.int64
<class 'numpy.int64'>
Python 2のlongとPython 3のintにビット長の制限はないが、NumPyでは固定長配列の都合上、ビット長が定められる。
とはいえ、numpyでPythonの組み込み型を指定してもよしなにしてくれる。
>>> np.array([0, 1], dtype=int).dtype
dtype('int64')
>>> np.array([0, 1], dtype=float).dtype
dtype('float64')
>>> np.array([0, 1], dtype=complex).dtype
dtype('complex128')
np.int
などとするのは文字数の無駄と混乱の原因でしかないと思う。
参考