Skip to content

1. NumPy とは何か

NumPy(ナムパイ)は数値計算を効率良く行うための Python ライブラリです。科学技術計算やデータ解析で必要とされる、強力なデータ操作と計算機能を提供します。特に、多次元配列(ndarray)と呼ばれるデータ構造を使った操作が可能で、大規模なデータを扱う際に非常に役立ちます。

1.1 NumPy の重要性

  • 高速な計算: NumPy は、C 言語で書かれた内部コードを用い、最適化された計算を行います。そのため、リストを使った標準的な Python の計算に比べて圧倒的に高速です。
  • 豊富な機能: 多次元配列を始め、線形代数、統計、フーリエ変換など、科学技術計算に役立つ様々な機能を提供します。
  • エコシステム: NumPy は他の多くのデータ解析ライブラリ(Pandas, SciPy, TensorFlow, PyTorch など)の基盤として利用され、Python エコシステムの重要な部分を形成します。

1.2 NumPy の基本構造

NumPy の核となるのは、多次元配列(ndarray)です。この配列は、様々な方法で生成、操作が行えます。以下は、NumPy 配列を作成する基本的な例です。

1.2.1 NumPy 配列の作成

まず、NumPy を使用するためにライブラリをインポートします。

import numpy as np

次に、Python のリストを元にして NumPy 配列を作成する方法を示します。

# リストからNumPy配列を作成
my_list = [1, 2, 3, 4, 5]
np_array = np.array(my_list)

print("NumPy配列:", np_array)

1.2.2 配列の特性

NumPy 配列が持つ重要な特性として、配列の「次元」と「形状」があります。

# 配列の次元数
print("次元数:", np_array.ndim)

# 配列の形状 (行と列で構成される形式)
print("形状:", np_array.shape)

1.3 NumPy の利点と利用シーン

NumPy の利点は、以下の通りです。

  • 計算効率: 大量のデータを同時に扱い、効率的な計算を可能にします。
  • 簡潔なコード: ブロードキャストやベクトル化された操作を使えば、複雑な計算も短いコードで表現できます。
  • 拡張性: 様々なライブラリと組み合わせができ、応用範囲が広がります。

NumPy は、データ解析、機械学習、物理シミュレーション、画像処理など、幅広い分野で活用されています。特に、データの処理や分析が必要な場面でその強力な機能が発揮されます。

さらに進んだ使用例や、NumPy でできることを試してみてください。試行錯誤することで、実際にどのように利用できるか体感し、理解を深めましょう。