【NumPy】NumPy配列の作成
> > 【NumPy】NumPy配列の作成
NumPyとは
NumPyはPythonで数値計算を効率的に行うためのライブラリです。
NumPy ドキュメント
配列や行列データを扱うことができ、それらを操作するためのメソッドが多く用意されています。
また、リストに比べメモリ使用量が少なく処理も高速なため大量データの処理にも適しています。
pip install numpy
または
conda install numpy
でインストールが可能です。
環境
今回動作の確認を行った際のバージョンは下記の通り
python:3.10.9
numpy:1.24.3
NumPy配列の作成
リストから作成
numpy.array()メソッドにリストを渡すことでNumPy配列を作成することが可能です。
import numpy as npif __name__ == '__main__':# 1次元のNumPy配列作成arr_1d = np.array([0,1,2,3])print(arr_1d)# [0 1 2 3]# 2次元のNumPy配列作成arr_2d = np.array([[0,1,2,3],[4,5,6,7]])print(arr_2d)# [[0 1 2 3]# [4 5 6 7]]
print文で出力するだけでは分かりにくいですが、Pycharmの変数ビューアで確認すると下記の様にndarrayが作成されていることが確認できます。
numpy.arange()を利用して作成
引数に開始値(start)、終了値(stop)、間隔(step)を指定することが可能なnumpy.arange()メソッドを利用することで連番配列や等差数列を作成することが可能です。
np.arange(終了値):0~(終了値-1)までの連番配列作成
np.arange(開始値, 終了値):(開始値)~(終了値-1)までの連番配列作成
np.arange(開始値, 終了値, 間隔):(開始値)~(終了値-1)までの等差数列作成
import numpy as npif __name__ == '__main__':# 連番配列作成(np.arange(終了値))arr_1d_1 = np.arange(10)print(arr_1d_1)# [0 1 2 3 4 5 6 7 8 9]# 連番配列作成(np.arange(開始値, 終了値))arr_1d_2 = np.arange(5, 10)print(arr_1d_2)# [5 6 7 8 9]# 等差数列作成(np.arange(開始値, 終了値, 間隔))arr_1d_3 = np.arange(2, 10, 2)print(arr_1d_3)# [2 4 6 8]# 等差数列作成(np.arange(開始値, 終了値, 間隔))# 小数も指定可能arr_1d_f = np.arange(0.2, 1, 0.2)print(arr_1d_f)# [0.2 0.4 0.6 0.8]
numpy.linspace()を利用して作成
numpy.arange()メソッドと似たような関数にnumpy.linspace()メソッドがあり、同様に配列を生成することが可能です。
numpy.arange()と違い、間隔ではなく要素数を指定することで配列を生成することが出来ます。
import numpy as npif __name__ == '__main__':# 等差数列作成(np.linspace(開始値, 終了値, 要素数))arr_1d_1 = np.linspace(1, 10, 4)print(arr_1d_1)# [ 1. 4. 7. 10.]# 等差数列作成(np.linspace(開始値, 終了値, 要素数))arr_1d_2 = np.linspace(1, 10, 10)print(arr_1d_2)# [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]# 等差数列作成(np.linspace(開始値, 終了値, 要素数))# 開始値 > 終了値とした場合も対応可能ですarr_1d_3 = np.linspace(10, 1, 10)print(arr_1d_3)# [10. 9. 8. 7. 6. 5. 4. 3. 2. 1.]