NumPy入門② 配列の作成と初期化
配列の作成方法
NumPyでは、np.array
関数を使ってPythonのリストやタプルから配列(ndarray)を作成できます。
import numpy as np
# リストから作成
a = np.array([1, 2, 3, 4, 5])
print(a) # [1 2 3 4 5]
# 二次元配列
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
# [[1 2 3]
# [4 5 6]]
代表的な初期化関数
NumPyには、特定の値やランダム値で配列を簡単に初期化できる関数が用意されています。
ゼロ配列・1配列
# ゼロで初期化
zeros = np.zeros((3, 4))
print(zeros)
# 3行4列の0配列
# 1で初期化
ones = np.ones((2, 3))
print(ones)
# 2行3列の1配列
任意の値で初期化
full = np.full((2, 2), 7)
print(full)
# [[7 7]
# [7 7]]
単位行列(対角が1)
eye = np.eye(3)
print(eye)
# [[1. 0. 0.]
# [0. 1. 0.]
# [0. 0. 1.]]
等差数列・等比数列
配列を連続的な数値で初期化することも可能です。
# 0から9まで(ステップ1)
arr1 = np.arange(10)
print(arr1) # [0 1 2 3 4 5 6 7 8 9]
# 0から2までを5分割
arr2 = np.linspace(0, 2, 5)
print(arr2) # [0. 0.5 1. 1.5 2. ]
乱数で初期化
シミュレーションや検証に便利な乱数の初期化も可能です。
# 0〜1の乱数(3x3行列)
rand_arr = np.random.rand(3, 3)
print(rand_arr)
# 標準正規分布からの乱数
normal_arr = np.random.randn(3, 3)
print(normal_arr)
まとめ
np.array
でリストやタプルから配列を作成できるnp.zeros
,np.ones
,np.full
,np.eye
で便利に初期化できるnp.arange
,np.linspace
で数列を生成可能np.random
を使えば乱数による初期化も容易