Python入門トップページ


目次

  1. NumPy とは
  2. Python リストの場合
  3. NumPy の使用例
    1. 1次元配列(ベクトル)
    2. 2次元配列(行列)
    3. 要素の取り出し
    4. ベクトルと行列の変換
    5. NumPy のデータ型
    6. NumPy 配列の作成と操作
    7. ユニバーサル関数と集約関数
    8. NumPy 配列のソート
    9. NumPy の構造化配列
    10. NumPy 配列の保存と読み込み
  4. NumPy で線形代数
  5. NumPy の乱数生成

NumPy

NumPy の使用例

NumPy のデータ型

NumPy では配列の要素のデータ型が1種類に統一される.まずは,Python の変数とリストについて,どのようなデータ型になっているかを確認してみよう.下の 4 つのコードを実行するとそれぞれ「int」「float」「str」「list」というデータ型になっていることがわかる.

変数の型import numpy as np # プログラムの先頭でモジュールを読み込む
z = 5
type(z)
int
変数の型z = 3.14
type(z)
float
変数の型z = "hoge"
type(z)
str
リストの型x = [1, 2, 3, 4]
type(x)
list

次に,NumPy の配列を定義して,その型を確認する.1次元配列,2次元配列ともに,numpy.ndarray オブジェクトであることが確認できた.

NumPy 1次元配列の型a = np.array(x)
type(a)
numpy.ndarray
NumPy 2次元配列の型A = np.array([[1, 2], [3, 4]])
type(A)
numpy.ndarray

さらに NumPy 配列の要素のデータ型を dtype プロパティによって確認してみよう.下記の2つともに,要素のデータ型は64ビットの整数型 (int64) になっていることがわかる.

NumPy 配列要素のデータ型print(a)
a.dtype
[1 2 3 4]
dtype('int64')
NumPy 配列要素のデータ型print(A)
A.dtype
[[1 2]
 [3 4]]
dtype('int64')

次に,NumPy 配列の要素を実数型にしてみよう.以下の通り,64ビットの浮動小数点型になっていることが確認できる.

NumPy 配列要素のデータ型x = [1., 2., 3., 4.]
a = np.array(x)
print(a)
a.dtype
[1. 2. 3. 4.]
dtype('float64')

NumPy 配列の作成時に型を指定することも可能です.特に大きな配列を扱うときにはメモリの使用量を抑えるために倍精度浮動小数点型 (float64) ではなく,単精度浮動小数点型 (float32) や半精度浮動小数点型 (float16) などを利用することもあるでしょう.

A = np.array([[1, 2], [3, 4]], dtype=np.float32)
print(A)
A.dtype
[[1. 2.]
 [3. 4.]]
dtype('float32')
A = np.array([[1, 2], [3, 4]], dtype=np.float16)
print(A)
A.dtype
[[1. 2.]
 [3. 4.]]
dtype('float16')

なお,NumPy のデータ型として符号あり整数型には int8, int16, int32, int64が,符号なし整数型には uint8, uint16, uint32, uint64 があります.浮動小数点型には半精度浮動小数点型 float16,単精度浮動小数点型 float32,倍精度浮動小数点型 float64,4倍精度浮動小数点型 float128 があります.その他,複素数型 (complex64, complex128, complex256) や真偽値型 (bool),固定長文字列型 (string_, unicode_),オブジェクト型 (object) などがあります.

目次に戻る