初心者のためのDjango入門
■第14話:NumPyの統計的関数
(最終更新日:2023.06.9)
(絵が小さい場合はスマホを横に)
「NumPyと組み合わせて使おう!」
前回、NumPyの四則演算やブロードキャスティング、内積、行列積の計算方法について学んだ。
中でもブロードキャスティングは効率的な計算を可能にする非常に強力な機能であった。
今回は、それらの結果を分析する統計的関数や、図、表への描画ができるライブラリについて紹介する。
1.NumPyの統計的関数
NumPyには、配列のデータに対して統計的な分析を行うための多くの関数が含まれている。 以下にいくつかの基本的な統計的関数を示す。各関数についての解説は以下の通りである。 以下のような機能を用いることで、NumPyは高度なデータ操作と分析を容易に可能にする。
- np.sum: 配列内の全要素の合計を計算する
- np.mean: 配列内の全要素の平均を計算する
- np.median: 配列内の全要素の中央値を計算する
- np.sum: 配列内の全要素の標準偏差を計算する
- np.mean: 配列内の全要素の分散を計算する
- np.median: 配列内の全要素の最小値または最大値を見つける
- np.argmin / np.argmax: 配列内の全要素の最小値または最大値のインデックスを見つける
NumPyにおける統計的関数
2.NumPyと科学計算ライブラリ
NumPyはPythonの科学計算ライブラリの中心的な役割を果たしており、 その効率的な多次元配列オブジェクトとこれを操作するツールは、多くの他のPythonライブラリで使用されている。 以下に、NumPyと他の主要なPythonライブラリとの関連について述べる。 (括弧内の%は2019年にGitHubに上がった機械学習系のプロジェクトで使用されているライブラリの割合。NumPyは74%でトップで 殆どのプロジェクトで使われている。)
- SciPy(47%): SciPyは、科学計算と技術計算をサポートするPythonライブラリである。 SciPyはNumPyの配列を基にし、多くの数学的関数を提供する。これには、線形代数、確率論、積分、最適化、統計などが含まれる。
- Pandas(41%): Pandasは、データ分析と操作を行うための強力なPythonライブラリである。 PandasのデータフレームオブジェクトはNumPy配列を基にしており、 多次元配列の上にラベルを追加したり、欠損データの扱いを改善したりする。
- Matplotlib(40%): Matplotlibは、Pythonでグラフやチャートを作成するためのライブラリである。 MatplotlibはNumPy配列を用いて、各種のプロットや視覚化を作成する。
- Scikit-learn(38%): Scikit-learnは、Pythonで機械学習を行うためのライブラリである。 Scikit-learnの多くの機能はNumPy配列を入力として受け取り、また出力として返す。
- TensorFlow(24%)/PyTorch: これらのライブラリはディープラーニングのためのフレームワークで、 NumPy互換の配列操作とAPIを提供し、NumPy配列を直接利用することも可能である。
以上のように、NumPyはPythonの科学計算とデータ分析のエコシステムにおいて、中心的な役割を果たしている。 これらのライブラリは互いに深く関連しており、一緒に使用されることで、強力なデータ分析ツールセットを形成している。
3.まとめ
今回、NumPyの統計的関数とNumPyと共に用いる科学計算ライブラリについて紹介した。 NumPyは機械学習を始め、科学計算や統計の分野において多くの人に使用されている。 それは、計算機能の豊富さ、効率の良さ、処理速度の速さによるだろう。 今後、このような分野に挑戦しようと思っている方は、ぜひNumPyから身に着けてみては如何だろうか。
▼参考図書、サイト
NumPyで使える統計関数の使い方まとめ エビワークス
Pythonによる科学技術計算の概要 神嶌敏弘