NumPyはPythonの科学計算エコシステムにおける基盤ライブラリです。その強みは、大規模なデータセットに対する高速な数値計算を可能にする、高効率なデータ構造であるndarray
(n次元配列)にあります。このチュートリアルでは、いくつかの基本的な配列タイプに焦点を当て、多様なNumPy配列の作成方法を掘り下げます。
目次
ゼロの配列の作成
ゼロで埋められた配列の生成はよくある作業です。NumPyのzeros()
関数はこれを簡素化します。配列の形状(1次元の場合は単一の整数、高次元の場合はタプル)と、データ型を指定するためのオプションのdtype
引数を受け取ります。
import numpy as np
# ゼロの1次元配列
zeros_1d = np.zeros(5)
print("1次元ゼロ配列:n", zeros_1d)
# ゼロの2次元配列
zeros_2d = np.zeros((3, 4), dtype=int) # 明示的なdtypeは明確さのために
print("n2次元ゼロ配列:n", zeros_2d)
1の配列の作成
同様に、ones()
は1で初期化された配列を作成します。zeros()
と同じ引数、形状とデータ型を使用します。
import numpy as np
# 1の1次元配列
ones_1d = np.ones(4, dtype=float) # 明示的なdtypeは良い習慣です
print("1次元1配列:n", ones_1d)
# 1の2次元配列
ones_2d = np.ones((2, 3))
print("n2次元1配列:n", ones_2d)
単位行列と対角行列の作成
eye()
関数は、主対角線上に1、それ以外に0を持つ配列(正方配列の場合は単位行列)を生成します。オプションのk
引数を使用すると、対角線のオフセットを指定できます。
import numpy as np
# 3x3単位行列
identity_matrix = np.eye(3)
print("単位行列:n", identity_matrix)
# 対角線が1つ右にずれた3x3行列
offset_diagonal = np.eye(3, k=1) # k=1は対角線を1つ右にずらす
print("n対角線を1つずらした行列:n", offset_diagonal)
三角行列の作成
NumPyは、配列の三角部分を取り出したり作成したりするためのtriu()
(上三角)とtril()
(下三角)を提供します。主対角線の下(triu
)または上(tril
)の要素はゼロになります。
import numpy as np
array = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
upper_triangular = np.triu(array)
print("上三角行列:n", upper_triangular)
lower_triangular = np.tril(array)
print("n下三角行列:n", lower_triangular)
指定した値で埋めた配列の作成
full()
関数は、指定した値で埋められた配列を作成できます。
import numpy as np
filled_array = np.full((2,3), 7)
print(filled_array)
ランダムな値を持つ配列の作成
NumPyのrandom
モジュールは、さまざまな分布からの乱数を持つ配列を作成する関数を提供します。たとえば、rand()
は0から1の間の乱数からなる浮動小数点数の配列を作成します。
import numpy as np
random_array = np.random.rand(3, 2)
print(random_array)
このチュートリアルでは、基本的なNumPy配列の作成方法について説明しました。これらを習得することは、科学計算やデータサイエンスにおける効率的なデータ操作と分析に不可欠です。