見出し画像

Pythonをはじめから丁寧に。NumPy編

NumPyとは

NumPyはPythonの数値計算を行うための基本的なライブラリです。データ分析、科学計算、エンジニアリングなど、多くの分野で広く利用されています。この記事では、NumPyの基本的な使い方から、いくつかの高度な機能についても紹介します。Pythonには標準の数値型やリストがありますが、NumPyを使用することで、より大規模な数値データを効率的に扱うことができます。

NumPyのインストール

NumPyはPythonのパッケージですので、pip3を使って簡単にインストールできます。

pip3 install numpy

インストールが完了したら、Pythonスクリプトやインタラクティブシェルでimport numpy as npとしてインポートし、npというエイリアスでNumPyの関数やモジュールにアクセスします。

NumPyの基本:配列

NumPyの中核をなすのは、同じタイプの要素を持つ多次元配列です。これらはNumPyのndarrayオブジェクトによって提供されます。配列はリストとは異なり、すべての要素が同じデータタイプである必要があります。

配列を作成する基本的な方法は、リストをnp.arrayに渡すことです:

import numpy as np

a = np.array([1, 2, 3])
print(a)  # 出力: [1 2 3]

配列の属性

配列は、形状(shape)、次元数(ndim)、要素のデータタイプ(dtype)など、多くの属性を持っています:

print(a.shape)  # 出力: (3,)
print(a.ndim)   # 出力: 1
print(a.dtype)  # 出力: int64

配列の生成

NumPyには配列を生成するための多くの関数があります。例えば:

  • np.zeros: すべての要素が0の配列を生成します。

  • np.ones: すべての要素が1の配列を生成します。

  • np.arange: 連続した数値で配列を生成します。

  • np.linspace: 等間隔の数値で配列を生成します。

np.zeros((3, 3))  # 3x3の全て0の2次元配列
np.ones((2, 2))   # 2x2の全て1の2次元配列
np.arange(10)     # 0から9までの数値で配列を生成
np.linspace(0, 1, 5)  # 0から1までを5分割した数値で配列を生成

配列の操作

NumPy配列は、スライシングやインデックス参照を使って簡単に操作できます。また、配列同士の算術演算もサポートされています。

b = np.array([[1,2,3], [4,5,6]])
print(b[0, 0])  # 出力: 1
print(b[:, 1])  # 出力: [2 5]
print(b + a)    # 配列の加算

高度な機能

NumPyには、線形代数演算、フーリエ変換、乱数生成など、多くの高度な機能があります。これらの機能を利用することで、科学計算やデータ分析を高度に行うことができます。

まとめ

NumPyはPythonでの数値計算のための非常に強力なライブラリです。この記事では基本的な使い方を紹介しましたが、NumPyにはさらに多くの機能があります。公式ドキュメントやオンラインリソースを参照して、NumPyのさらなる機能について学んでみてください。

次はNumPyでフーリエ変換をしていきたいと思います。

この記事が気に入ったらサポートをしてみませんか?