
4.1
NumPy ndarray
:多次元配列オブジェクト
101
numpy.string_
型を使用するとき、
NumPy
の文字列データは固定長であるため、警告なしに
切り捨てられる可能性があることに注意してください。
pandas
を使うと、非数値データの
扱いがもう少し直観的になります。
この例について
2
点補足します。まず何らかの理由でキャストが失敗した場合、
ValueError
例外が
発生します。例えば数字でない文字列を
float64
にキャストしようとしたときなどが該当します。次に、
np.float64
と書く代わりに、やや横着をして
float
を使ったのに気付いたでしょうか。
NumPy
は標準
Python
型をそれと等価な
dtype
に自動的に変換してくれるのです。
キャストの別法として、ある
ndarray
の
dtype
に、別の
ndarray
の
dtype
を適用することもできます。
In [46]: int_array = np.arange(10)
In [47]: cali
bers = np.array([.22, .270, .357, .380, .44, .50], dtype=np.float64)
In [48]: int_array.astype(calibers.dtype)
Out[48]: array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])
また型名以外にも、型コードを指定することもできます
*
1
。
In [49]: empty_uint32 = ...