numpyってよく聞くけど、使い方がよく分かりません。
すごいざっくり説明すると「数値計算のためのライブラリ」だ。
統計や行列計算に使えるぞ。
✔️ 本記事のテーマ
numpyの便利な関数と基本的な使い方(コード付き)
✔️ 読者さんへの前置きメッセージ
本記事は
「numpyライブラリの便利な機能とどのような場面で使えるか」
について書いています。
この記事を読むことで
「numpyの使いどころ と 便利な関数の使い方」をイメージできるようになります。
numpyライブラリは数値計算や行列計算に特化したPythonライブラリです。
numpyライブラリを使うことで、
多次元配列の計算や標準偏差や平均値などを簡単に出すことが出来ます。
それでは、numpyライブラリの使い方や関数を詳しく解説していきましょう。
numpyとは?
numpyは、Pythonで数値計算をするためのライブラリです。
基本的な計算はPythonだけでも出来ますが、
numpyを使うことで難易度の高い計算や複雑な計算を
簡単にそして高速に行うことができます。
近年、numpyの注目度が高まっている背景には、
機械学習の台頭が挙げられるでしょう。
Python自体、機械学習と関連の高い言語ですが、
numpyライブラリはその便利さから機械学習分野では欠かせないライブラリです。
機械学習や画像認識の分野の学習考えている人であれば、
numpyの使い方はしっかり理解しておきたいです
なお、 Numpy については以下の記事でも解説しているので、参考にしてみて下さい。
では、numpyの使い方を詳しく解説していきましょう。
numpyのインストール方法
numpyのPythonのサードパーティライブラリなので、
Pythonの稼働環境にインストールしないと使えません。
Pythonライブラリのインストールは簡単です。
ターミナルで以下のコマンドを実行することでインストールすることができます。
$ pip install numpy
以下のコマンドを実行して、
numpyバージョンが表示されれば正しくインストールが成功しています。
pip freeze | grep numpy
もし、numpyを使おうとして、エラーが出る人は上記のコマンドを実行して、自身の環境にnumpyがインストールされているかをチェックすると良いかもしれません。
numpyの便利な関数(使い方解説)
numpyには便利な関数が多く用意されています。
全部紹介すると数えきれないほどの関数があるので、
この記事では「よく使う or 便利な関数」に絞って紹介します。
以下の関数を紹介します。
- numpy.mean
- numpy.max
- numpy.min
- numpy.sum
- numpy.floor、numpy.ceil、numpy.round
- numpy.pi、numpy.e
順番に各関数と、使い方を解説していきましょう。
numpy.mean、numpy.stdの使い方
numpyを使うことで、平均値も簡単に出すことが出来ます。
import numpy as np
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
heikin = np.mean(x)
print(heikin)
# 5
このように書くことで、
配列に対してnp.mean()関数をかけて、平均値を出すことが出来ます。
例のような一次元配列だけではなく、
二次元配列の対してこの関数を使うときは、
np.mean(x2, axis=0)
のようにaxisオプションで行番号を指定します。
numpyを使えば平均だけではなく、
同じように標準偏差を求めることも出来ます。
import numpy as np
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
hensa = np.std(x)
print(hensa)
# 2.8722813232690143
numpy.max、numpy.minの使い方
numpyを使えば、最大値 / 最小値を求めることも出来ます。
import numpy as np
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
np.max(x)
# 10
np.min(x)
# 1
配列に対して、これらの関数をかけることで、
その配列内の最大値、最小値を出すことが出来ます。
numpy.sumの使い方
numpyで合計値も求めることが出来ます。
Excelなどでも似たような機能があるので馴染みやすいかもしれません。
以下のように使うことで、合計値を出すことが出来ます。
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
sum_a = np.sum(a)
print(sum_a)
# 55
また、n次元配列に対しても、全ての要素の合計値を出すことが出来ます。
import numpy as np
b = np.array([ [11, 12, 13, 14, 15], [16, 17, 18, 19, 20] ])
sum_b = np.sum(b)
print(sum_b)
# 155
numpy.floor、numpy.ceil、numpy.roundの使い方
numpyでは、小数点の切り上げや切り捨て、四捨五入などを行うことが出来ます。
import numpy as np
c = np.array([-1.8, -1.4, -1.0, -0.6, -0.2, 0., 0.2, 0.6, 1.0, 1.4, 1.8])
c_flo = np.floor(c) # 切り捨て
# array([-2., -2., -1., -1., -1., 0., 0., 0., 1., 1., 1.])
c_cel = np.ceil(c) # 切り上げ
# array([-1., -1., -1., -0., -0., 0., 1., 1., 1., 2., 2.])
c_rou = np.round(c) # 四捨五入
# array([-2., -1., -1., -1., -0., 0., 0., 1., 1., 1., 2.])
このように使う関数を使い分けることで、丸め方を選択することが出来ます。
numpy.pi、numpy.eの使い方
数学分野や学術計算などでは、
円周率やネイピア数(自然対数の底)を使うこともあるでしょう。
numpyでは、πやネイピア数の定義もしています。
以下のように書くことで、正確な円周率の値やネイピア数を使うことが出来ます。
import numpy as np
e = np.e
pi = np.pi
print(e) # 2.718281828459045
print(pi) # 3.141592653589793
このような数値定義がされているのも、
numpyが様々な分野で使われている理由の一つでしょう。
numpy配列(行列)の操作
numpyではNdarray(numpy配列)という独自の型でデータを保持しています。
そしてnumpy配列を操作するための関数も豊富に用意されています。
個別の関数については以下の記事で解説しているので、参考にしてみて下さい。
numpyの使いどころ
Numpyの使いどころはやっぱり機械学習の分野でしょう。
今では、必ずと言っていいほど、機械学習の分野ではnumpyライブラリは使われています。
numpyは処理自体はC言語が動いているので、計算が早いのが特徴です。
そのため、これまでに紹介した機能や関数を使って、高速に処理を実現します。
機械学習や学術計算、統計などの複雑な計算や膨大な計算を行うときに、
numpyで行うことで処理時間を短縮することができます。
なお、numpyなどを使った機械学習については
「機械学習で最も簡単な分類をしてみる【Python】」の記事でも
解説しているので参考にしてみて下さい。
NumpyやPythonについてもっとスキルをつけるなら
今回はNumpyの使い方について解説しました。
Numpyを実践的に学ぶためには以下の書籍がオススメです。
この書籍はNumPyや高速計算手法についてかなり丁寧に解説されています。
NumPyの基本から始まり、現場で使える実践的な高速データ処理手法について解説します。
Numpy の基礎から実用まで幅広く学びたい方にオススメの書籍です。
エンジニアとしての自身の価値をチェックする(完全無料)
エンジニアとして、
自分の価値がどれくらいのものかご存知でしょうか?
エンジニアとしてIT業界に身を置いていると
今の会社でずっと働くのか、フリーランスとして独立するのか …
と様々な選択肢があります。
どの選択肢が正解なのかを見極めるためにも、選択肢を広げるためにも
自身の価値を知っておくことはとても重要です。
TechClips ME では、
職務経歴書をアップロードするだけで企業からのスカウトを受けることができます。
▼▼▼▼▼
▲▲▲▲▲
しかもTechClips MEでは想定年収を企業から提示してくれるので、
自身の価値を数字で分かりやすくたしかめることができます。
登録はもちろん完全無料なので、一度登録してみると良いかもしれません。
コメント