1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

Pythonを使うなら欠かせない!演算を高速化するNumpyの使い方!

Pocket

Pythonには便利なライブラリが数多く用意されており、自由に使うことができます。ライブラリを使うことで、高度な計算や複雑な処理を簡単に実現することができます。そんなライブラリの中でも特に良く使われるのがNumPyです。NumPyは科学技術計算などで配列や行列の演算を高速で行うために使われます。研究などで数学的な計算をしたいときに、非常に有効なライブラリとなっています。

今回は、そんなNumPyの基本的な使い方について説明します。

NumPyを使う準備

NumPyのインストール

NumPyはpipコマンドを使うことで簡単にインストールすることができます。コンソールから以下のコマンドを入力してインストールしてください。

ただし、Pythonのバージョンなどによってはpipでのインストールが失敗する可能性があります。その場合は以下のページからNumPyをダウンロードして、そのダウンロードしたファイルをpipコマンドでインストールするようにしてください。

http://www.lfd.uci.edu/~gohlke/pythonlibs/

NumPyのファイルは複数ありますので、ご自身のPythonのバージョンやOSのバージョンに合ったものをダウンロードしてくさい。ファイル名のcp○○がPythonのバージョン、win_amd○○がOSのバージョンを表しています。

例えば、「numpy‑1.12.0rc2+mkl‑cp36‑cp36m‑win_amd64.whl」というファイルはPythonのバージョンは3.6、OSのバージョンは64bitOS、ということを表します。

ダウンロードが終わったら、pipでそのファイルをインストールします。コマンドは以下の通りです。

pip install さきほどダウンロードしたファイルのパス

NumPyのインポート

NumPyのインストールが終わったら、NumPyをインポートします。これで、NumPyを使う準備が完了です。

NumPy配列を扱う

配列の生成

NumPyは配列や行列の計算を高速で行うことができるライブラリです。まずは、NumPyで配列を生成します。NumPyの配列はarrayメソッドで生成することができます。

実行結果

[[1 2 3]
[4 5 6]
[7 8 9]]

また、NumPyでは数学などで使われる行列を表現することができます。行列を生成するにはmatrixを利用します。

実装結果

[[1 2]
[3 4]]

配列の演算

NumPyの配列はPythonの通常のリストのように扱えますし、行列も言い換えれば2次元のリストとほぼ同じです。では、通常のリストとの違いは何なのでしょうか?それは、行列や配列に対して数学的な演算が簡単に行えることです。

例えば、通常のリストに定数を掛けるとそのリストが複製されますが、NumPyの配列に定数を掛けると、行列に定数を掛ける演算が行われ、各要素が定数倍された配列になります。

実行結果

[[ 3 6 9]
[12 15 18]
[21 24 27]]

このほかにも、配列と定数や、配列同士の四則演算を行うことができます。また、NumPyには演算用の関数が多数用意されているほか、標準ライブラリであるmathモジュールで定義されている数学関数も利用できます。NumPyで利用できる関数には以下のようなものがあります。

numpy.add(配列, 定数) 配列に定数を足す
numpy.multiply(配列, 定数) 配列に定数を掛ける
配列.dot(配列) 配列(行列)の内積を計算する
numpy.mean(配列) 配列の平均を計算する
numpy.median(配列) 配列の中央値を計算する
numpy.std(配列) 配列の標準偏差を計算する
numpy.var(配列) 配列の分散を計算する

実行結果

n_arrayの平均値:5.0
n_arrayの中央値:5.0
n_arrayの標準偏差:2.581988897471611

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

WebCampは、一ヶ月の短期集中でWebデザイン、プログラミングスキルを習得するスクールです。学習効果の高い反転授業(自主学習でインプット、講義でアウトプット)を採用し、年間1000名を輩出しています。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ

3WEB塾

WEB塾
ページ上部へ戻る