初心者のためのDjango入門
■第21話:SciPyの概要とインストール方法
(最終更新日:2024.11.05)
(絵が小さい場合はスマホを横に)
「SciPyを用いて高度な計算処理をしよう!」
SciPy(サイパイ)は、Pythonで科学計算を行うためのオープンソースのソフトウェアライブラリだ。
数学、科学、エンジニアリングといった分野で一般的に行われる多くの標準的な問題を解くためのツールを提供する。
このツールには、線形代数、積分、補間、最適化計算、特殊関数、FFT、信号および画像処理などを行うためのモジュールがあり、
様々な科学計算を行うことができる。科学計算がプログラム上で出来てしまえば、自動で結果をまとめたり、Excelファイルに出力することもできる。
Python上で科学計算できるメリットは大きく、様々なアプリケーションと連携することが容易だ。
今回は、このSciPyの概要を学ぶとともに、インストール方法、サブパッケージの準備まで学んでいこう。
1.Pythonと科学計算
Pythonは一般的なプログラミング用途だけでなく、データ解析、視覚化、複雑な数値計算などの科学計算にも適している。
Pythonの科学計算エコシステムは、Numpy、Pandas、Matplotlibなどのライブラリを含む多数のパッケージによって支えられている。
これらのライブラリは、それぞれ異なる目的を持っているが、密接に連携して用いることで威力を発揮する。
NumPyは強力な配列操作を提供する。Pandasは表計算とデータ分析、操作を容易にする。Matplotlibは高品質なグラフを提供する。
つまり、NumPyやPandasで計算の前処理を行うことができ、Matplotlibで計算結果の後処理(グラフ化)ができる。
これらのライブラリを活用して構築されるのがSciPyで、強力な科学計算と統計処理、グラフ化を総合的に行うことができる。
まずは、SciPyとこれらのPython科学計算ライブラリが連携することを覚えておこう。
科学計算で役立つSciPy
2.SciPyのインストール
Scipyを直接PC上のPythonにインストールすることもできるが、今回は、仮想環境上にインストールする。
仮想環境を使えば、他のPythonプログラムのバージョン依存性を気にすることなくインストールすることができる。
直接PCにインストールすることで、Scipyは動くけど、今まで使っていた別のPythonプログラムが動かないというという事態を防ぐためだ。
仮想環境の構築方法やPython自体のインストールに関しては、以前(11話)説明したので、そちらの内容を見てほしい。
Pythonが使える環境で、「pip install scipy」とコマンドを打つ。これだけでSciPyを使うことができる。
ただし、SciPyを使うには予めNumPyがインストールされていなければならない。
インストールしていない人は、SciPyを入れる前に「pip install numpy」とコマンドを打ってインストールしよう。
仮想環境を使う場合も、その仮想環境の中でNumPyのインストールが別途必要だ。
NumPyをインストールしてからSciPyをインストールする
下記はインストールが成功した例と失敗した例である。NumPyがインストールされていなかったり、 対応するバージョンが異なると、バージョンが合わない等のコメントが出て失敗する。覚えておこう。
SciPyのインストール成功例(上)と失敗例(下)
3.SciPyの主要なサブパッケージ
SciPyは、Numpy、Matplotlib、PandasなどのPythonライブラリと共に用いることで、威力を発揮する。 以下にそれらのライブラリの概要を簡単に記す。
■Numpy
Numpy(Numerical Python)は、数値計算を効率的に行うためのPythonパッケージだ。
多次元配列(特に数値)の効率的な操作を可能にし、これによりベクトルと行列の操作が容易になる。
Scipyは、これらの配列上で操作を行うための高レベルの数学関数を提供する。
■Matplotlib
Matplotlibは、Pythonのデータ視覚化ライブラリで、ラインプロット、ヒストグラム、散布図、等高線図など、
多様なグラフや図を描画する機能を提供する。
また、これらのグラフのカスタマイズ(ラベルの追加、カラースキームの変更、複数のプロットの組み合わせ等)も可能だ。
■Pandas
Pandasは、Pythonでデータ解析と操作を行うための強力なライブラリである。
Pandasは、エクセルのような表形式のデータ(2次元ラベル付きのデータ構造)を操作するためのDataFrameというデータ構造を提供する。
また、欠損値の処理、データの結合・マージ・リシェープ、統計分析、データの読み書き(CSV, Excel, SQLデータベース, HDF5等)といったデータ解析に
必要な機能を提供する。最近では、Pandasと同等の処理ができ、Pandasよりも処理能力が高いPolarsというライブラリもある。
これらのパッケージは、Pythonの科学計算エコシステムの基礎を形成し、異なる目的を持ちながらも、互いに連携して動作する。 これらはすべてSciPyと共に使われ、より高度な科学計算やデータ解析タスクを可能にする。 その様子は次回以降見ていこう。
4.まとめ
今回はSciPyの概要とインストール方法を学んだ。 SciPyをよりよく使うには、NumPy、Matplotlib、PandasといったPythonのライブラリを使いこなし、連携させる必要がある。 特に、NumPyはインストールしていないと、SciPyを使うことすらできない。 前回までに、NumPyやPandasについては詳しく説明しているので、 そちらも合わせて学習しよう。
▼参考図書、サイト
INSTALLATION SciPy公式サイト