データ分析・初級問題チェック
問題 16 /40
NumPyのデータ型に関する説明で、誤っているものはどれか。
選択 1
整数のデフォルトはint64で、小数のデフォルトはfloat64である。
選択 2
dtype属性でデータ型を確認できる。
選択 3
データ型を変換するメソッドはない。
選択 4
int32やint64の数字部分は、確保するメモリ量を表している。
解説
選択肢3が正解です。
【選択肢1】
整数のデフォルトはint64で、小数のデフォルトはfloat64である。
正しい説明です。
ただし、OS、Python、NumPyのバージョンなど、環境によって変わることがあります。
【選択肢2】
dtype属性でデータ型を確認できる。
正しい説明です。
dtype属性は以下のように使います。
-------------------------------
arr = np.array([1])
arr.dtype
▶︎ dtype('int64')
-------------------------------
属性のため、「dtype(arr)」ではなく「arr.dtype」と記述します。
なお、要素の型ではなくオブジェクトの型を確認するtype関数は、関数のため「type(arr) ▶︎ numpy.ndarray」と記述します。type関数はNumPyの関数ではなく、Python標準の関数です。
【選択肢3】
データ型を変換するメソッドはない。
誤った説明です。
astypeメソッドで以下のように記述して、データ型を変更できます。
-------------------------------
arr = np.array([1])
arr.astype(np.float64)
▶︎ array([1.])
-------------------------------
【選択肢4】
int32やint64の数字部分は、確保するメモリ量を表している。
正しい説明です。
int64などの数字部分は確保するメモリ量を表しており、以下の範囲の数値を要素に格納できます。
-------------------------------
int16 → 2バイト(-32768〜32767)
int32 → 4バイト(-2147483648〜2147483647)
int64 → 8バイト(-9223372036854775808〜9223372036854775807)
-------------------------------
Numpyの主なデータ型は以下があります。
-------------------------------
bool(論理型)
int16、int32、int64(整数)
float16、float32、float64(浮動小数点数)
datetime64、timedelta64(日時)
-------------------------------
datetime64は、「date = np.array('2015-07-04', dtype=np.datetime64)」のように記述して作成します。
(公式書籍 p.96-97)