ホーム > python > numpy > 【NumPy】NumPy配列の作成

【NumPy】NumPy配列の作成

pythonnumpy

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 np
if __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_ndarray

numpy.arange()を利用して作成

引数に開始値(start)、終了値(stop)、間隔(step)を指定することが可能なnumpy.arange()メソッドを利用することで連番配列や等差数列を作成することが可能です。
np.arange(終了値):0~(終了値-1)までの連番配列作成
np.arange(開始値, 終了値):(開始値)~(終了値-1)までの連番配列作成
np.arange(開始値, 終了値, 間隔):(開始値)~(終了値-1)までの等差数列作成

import numpy as np
if __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 np
if __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.]