ここでは、NumPyにおける連番の作成方法(arange関数)について解説しています。最後にNumPyで主に利用されるデータ型dtype一覧をまとめています。
この記事の対象
np.arange()関数の基本的な型
import numpy as np
result = np.arange(start, stop, step)
「np.arange()」関数は、指定した範囲内の連続した数値を生成できます。「start」は数列の開始値。「stop」は数列の終了値(この値は含まれない)。「step」は数列の間隔を指定、デフォルトは1。
arange()関数の使用例
整数値の生成
import numpy as np
result = np.arange(10)
print(result)
上記は0~9までの整数値を生成するプログラムになります。
結果
[0 1 2 3 4 5 6 7 8 9]
任意の範囲で偶数を生成
import numpy as np
result = np.arange(2, 11, 2)
print(result)
上記は2~10までの偶数を生成するプログラムになります。
結果
[ 2 4 6 8 10]
浮動小数点数の生成
import numpy as np
result = np.arange(0, 1.1, 0.1)
print(result)
上記は浮動小数点数を生成するプログラムになります。0~1までを0.1刻みで生成しています。
結果
[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. ]
等間隔での波形表示
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 2 * np.pi, 0.01)
y = np.sin(x)
plt.plot(x, y)
plt.show()
上記は0から2πまでの範囲で0.01刻みで値を生成し、sin関数のグラフを描画するプログラムです。
結果
dtypeを指定してデータ出力
import numpy as np
np_ara = np.arange(10, dtype=np.uint64)
print(np_ara)
上記は、「dtype」を指定してデータを作成しています。10個の連番をuint64というデータ型で作成するという意味になります。
結果
[0 1 2 3 4 5 6 7 8 9]
0~9の10個の連番が作成できたことが確認できました。
例えば、データ型を「float16」とすると結果は以下になります。
[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
小数点が加わっていることが分かります。
実際の計算ではデータ型には注意が必要だということが分かると思います。
【補足】NumPyの主なデータ型dtype一覧
NumPyで使用される主なデータ型dtypeを一覧にしました。
項目 | 内容 |
int8 | 符号あり8ビット整数型 |
int16 | 符号あり16ビット整数型 |
int32 | 符号あり32ビット整数型 |
int64 | 符号あり64ビット整数型 |
uint8 | 符号なし8ビット整数型 |
uint16 | 符号なし16ビット整数型 |
uint32 | 符号なし32ビット整数型 |
uint64 | 符号なし64ビット整数型 |
float16 | 半精度浮動小数点型(符号部1ビット、指数部5ビット、仮数部10ビット) |
float32 | 単精度浮動小数点型(符号部1ビット、指数部8ビット、仮数部23ビット) |
float64 | 倍精度浮動小数点型(符号部1ビット、指数部11ビット、仮数部52ビット) |
float128 | 四倍精度浮動小数点型(符号部1ビット、指数部15ビット、仮数部112ビット) |
complex64 | 複素数(実部・虚部がそれぞれfloat32) |
complex128 | 複素数(実部・虚部がそれぞれfloat64) |
complex256 | 複素数(実部・虚部がそれぞれfloat64) |
bool | ブール型 |
unicode | Unicode文字列 |