Numpyさんの偉大さを知っていますか?
この記事では、本当はスゴイNumpyについて解説しています。
本記事の内容
- Numpyとは?
- Numpyのシステム要件
- Numpyのインストール
- Numpyの動作確認
それでは、上記に沿って解説していきます。
Numpyとは?
NumPyとは、数値計算を効率的に行うためのPythonライブラリです。
Pythonで複雑な計算をするためには、必須と考えてもよいでしょう。
Numpyを語る上では、MATLABの存在は必要となります。
MATLABは、有料の数値解析ソフトウェア(プログラム言語)です。
そのMATLABには、以下の二つの大きな特徴があります。
- 科学技術計算
- グラフ描画
なお、MATLABの価格は、以下。
これは、さすがに個人では手が出ません。
企業でも、さすがにこの価格は高すぎです。
そこで、MATLABと同じことをオープンソースで実現する動きが出てきます。
以下のPythonライブラリが、有志の手によって開発されてきました。
機能 | ライブラリ |
科学技術計算 | Scipy |
グラフ描画 | matplotlib |
それぞれのライブラリについては、以下の記事をご覧ください。
Scipyとmatplotlibを利用すれば、PythonでMATLABと同じようなことができるのです。
これは素晴らしいことだと言えます。
ある意味、偉業です。
そして、その偉業の根幹を担っているのがNumpyになります。
なぜなら、Scipyもmatplotlibも共にNumpyに依存しているからです。
Numpyさん、スゴイですね。
以上、Numpyについての説明を行いました。
次は、Numpyのシステム要件を確認します。
Numpyのシステム要件
現時点(2021年7月)でのNumpyの最新バージョンは、1.21.0となります。
この最新バージョンは、2021年6月22日にリリースされています。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
そして、サポート対象となるPythonのバージョンは以下。
- Python 3.7
- Python 3.8
- Python 3.9
上記を見て、サポート対象のバージョンの範囲が狭いと感じるかもしれません。
でも、これは下記のPythonの公式開発サイクルに準じています。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月 |
3.7 | 2018年6月27日 | 2023年6月 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.6のサポート期限が切れることを先に見越しているのだと思います。
なぜなら、 Numpyに依存するライブラリの数は半端ないですからね。
それらのライブラリに与える影響を考慮して、早め早めの対応をしているのでしょう。
だからこそ、まだ期限が残されている3.6を切り捨てているのだと。
なお、検証では以下のPythonを利用しています。
>python -V Python 3.9.6
つい先日にPythonのアップグレードをしています。
その内容については、次の記事でまとめています。
以上、Numpyのシステム要件について説明しました。
次は、Numpyをインストールしていきます。
Numpyのインストール
まずは、現状のインストール済みパッケージを確認しておきます。
>pip list Package Version ---------- ------- pip 21.1.3 setuptools 57.1.0
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、Numpyのインストールです。
Numpyのインストールは、以下のコマンドとなります。
pip install numpy
インストールは、すぐに終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。
>pip list Package Version ---------- ------- numpy 1.21.0 pip 21.1.3 setuptools 57.1.0
Numpyが依存するパッケージは、存在していません。
依存されることはあっても、依存することはないということです。
以上、Numpyのインストールについて説明しました。
次は、Numpyの動作確認を行います。
Numpyの動作確認
動作確認として、多次元配列を作成します。
コードは、以下。
import numpy as np ary = np.arange(24).reshape(2, 3, 4) print(type(ary)) print(ary)
上記を実行すると、次の結果が表示されます。
<class 'numpy.ndarray'> [[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]]
NumPyで作成したデータの型は、numpy.ndarrayとなります。
これは、Numpy独自のデータ構造です。
Pythonのリストではなく、ndarrayをNumpyは利用しています。
このことにより、Numpyの演算処理が効率的になります。
動作確認としては、ここまで確認できれば問題ありません。
以上、Numpyの動作確認の説明でした。