初心者のためのDjango入門
■第11話:NumPyの使い方と基本的概念
(最終更新日:2023.06.03)
(絵が小さい場合はスマホを横に)
「Python使うならNumPyを使おう!」
DjangoはPython製のフレームワークである。よって、Pythonの強力なライブラリと共に用いることで、より強力なツールとなる。
今回は、その強力なライブラリの1つとして、NumPyを取り上げる。
NumPyは主に数値データの配列や行列を扱うのに適しており、高速な数値演算や統計的分析機能が特徴だ。
さらに、多次元配列を扱うことが得意なため、データサイエンスや機械学習、画像処理、科学技術計算などの分野で広く利用されている。
Web上でも、画像処理や統計的な計算は様々な応用ができることは容易に想像がつくだろう。
Pythonによる統計分析のイメージ
今回から数回に分けて、Pythonの最も有用なライブラリの1つであるNumPyの使い方や有用性を説明したいと思う。
1.NumPyの重要性:なぜPythonプログラマーはこれを知るべきか?
Pythonはその自由度と可読性の高さから多くの分野で利用されている。 しかし、実行速度の遅さから大量の数値データを処理するには適していない。 しかし、ここでNumPyが活躍する。NumPyはC言語やFORTRANで書かれているため、大量の数値データを非常に効率的に処理することができる。 また、NumPyは数値計算だけでなく、データの整形やデータ抽出など、データ処理の総合的なサポートをする。
C言語のイメージ
さらに、NumPyは他の多くのデータ分析ライブラリ(Pandas、Scipy、Matplotlibなど)の基盤となっており、
これらのライブラリとの互換性を保つことで、Pythonエコシステムの中で一貫したデータ操作と効率的な分析体験をすることができる。
今回から、NumPyについての基本的な使用法から高度な機能まで、具体的な例を通じて学んでいこう。
2.NumPyのインストール
まずは、NumPyをインストールする前にPythonをインストールするところから始めよう。
PythonはWindows、Mac、Linuxとあらゆるオペレーティングシステムでインストール可能です。
公式サイトから、まずはダウンロードしてインストールしよう。
Pythonのインストールが無事終了したら、直接ライブラリをインストールせずに、仮想環境を構築する。
仮想環境を用いるのは、プロジェクトごとにインストールするライブラリのバージョンを揃え、安定稼働させるだめだ。
Pythonにはvenvというモジュールが組み込まれており、これを用いて仮想環境を作成することができる。
venvを使うには、例えば「python3 -m venv myenv」とターミナル(Windowsならコマンドプロンプト)で入力しよう。
python3の3は必要ない場合もある。
(WindowsでデフォルトでインストールしているPythonだとvenvが上手く動かなかったりする。その場合は公式サイトのPythonをインストールしよう。)
また、myenvの部分は、仮想環境の名前なので、覚えやすい名前をつけよう。
これで、「myenv」という名前の仮想環境が作成される。これを有効にするには以下のコマンドを入力する。
下記の1行目がWindowsのコマンドで、2行目がLinux、Macのコマンドになる。
これで、仮想環境に入ることができた。
仮想環境の有効化
次に、この仮想環境にNumPyをインストールする。NumPyをインストールするのはとても簡単だ。 下記とおりpipでインストールできる。
NumPyのインストールコマンド
インストールしたら、実際のPythonのコードで利用する場合は「import numpy as np」を最初に書こう。 これで、Pythonのコード上でnumpyを使うことができる。環境構築はこのように行う。
3.NumPyの基本的な概念
NumPyを使い始める前に理解しておくべき基本的な概念は主に以下の3つである。
配列(Array)、行列(Matrix)、ベクトル(Vector)だ。
これらは全てNumpyの中心的なデータ構造であるNumpy配列に関連している。
NumPy配列は、同じ種類のデータ(主に数値)を格納する多次元の線形式だ。
NumPy配列は、Pythonのリストと似ているが、計算速度やメモリ効率において優れている。
NumPy配列は0次元(スカラー)、1次元(ベクトル)、2次元(行列)、またはそれ以上の次元を持つことができる。
様々なNumPy配列
行列は、2次元のNumpy配列で、数学的な操作(例えば、行列の乗算、逆行列、行列のランクなど)に利用される。
行列は、行と列の両方を持つデータ構造で、2次元のデータを格納するのに適している。
ベクトルは、1次元のNumpy配列で、スカラーよりも複雑な計算に利用される。
ベクトルは数学的な操作(例えば、ベクトルの加算、スカラーとの乗算、ドット積など)に利用される。
これらの概念を理解することで、Numpyを用いたデータ操作と計算がより容易になる。
次のセクションでは、これらの概念を具体的にどのように使用するかについて見ていこう。
4.まとめ
今回、Pythonのインストールからvenvによる仮想環境の構築、NumPyのインストールについて説明した。 加えて、NumPyの基本的な概念、データ構造である、配列、行列、ベクトルについて説明した。 実際に使うのはこれからだが、まずは自分のPCでNumPyを使えるようにしよう。
▼参考図書、サイト
Windowsでvenvで仮想環境を作成して立ち上げるまでやる Zenn
NumPy 配列の基礎 Machine Learning Meets Python