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

【Python入門】絶対に知っとくべきライブラリscipyの基本的な使い方

Pocket

Pythonには便利なライブラリが数多く存在し、scipyもそのうちの1つです。scipyは高度な科学計算を行うためのライブラリです。似たようなライブラリでnumpyが存在しますが、scipyではnumpyで行える配列や行列の演算を行うことができ、加えてさらに信号処理や統計といった計算ができるようになっています。

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

scipyのインストール

numpyのインストール

scipyを使うにはnumpyが必要ですので、最初にnumpyをインストールしておきましょう。
numpyのインストール方法

scipyのインストール

続いてscipyをインストールします。scipyはpipコマンドでインストールすることができます。

もしpipでインストールできない場合は以下のページからScipyをダウンロードし、ダウンロードしたファイルをpipコマンドでインストールしてください。

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

pipコマンド

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

scipyにはいくつかのバージョンがあるので、自分のpythonやOSにあったバージョンをダウンロードしてください。例えば「scipy‑0.18.1‑cp36‑cp36m‑win_amd64.whl」というファイルはpython3.6、64ビットのWindows向けとなっています。

scipyを使う

scipyをインストールしたら、さっそく使ってみましょう。ただ、scipyには数えきれないほどの機能があるため、とてもすべてを紹介することはできません。ここでは、よく使われるほんの一部の機能を紹介します。

積分

scipyを使えば関数の積分(定積分)が簡単に行えます。積分をするにはscipy.integrateモジュールのquad()を使います。

quad()は与えられた関数を[区間の始まり, 区間の終わり]の区間で定積分し、2つの値を返します。変数1には積分した結果が、変数2には積分計算をした際の誤差が返されます。

実行結果

積分結果:50.0
誤差:5.551115123125783e-13

難しいのでここでは省略しますが、定積分だけでなく2次元の積分や微分方程式などの高度な演算を行うこともできます。

行列演算

行列の演算はnumpyでもできましたが、scipyを使えばより高度な演算ができます。行列の演算には線形代数用の機能をまとめたscipy.linalgを使います。

実行結果

narrayの逆行列:
[[-2. 1. ]
[ 1.5 -0.5]]

inv_narrayの行列式:-0.49999999999999967
inv_narrayのノルム:2.73861278752583

scipyではこの他にも信号処理や画像解析、統計処理、フーリエ変換など高度な科学計算を簡単に行うことができます。その数は膨大でここではすべて説明できませんので、scipyをもっと使ってみたい方は公式ドキュメントなども参考にしてください。
公式ドキュメント:https://docs.scipy.org/doc/scipy/reference/

【おすすめ記事】
Pythonの本・参考書の評判
Pythonを学びたい方は必見!おすすめスクールまとめ5選
【無料で使える】Pythonを勉強できる学習サイト7つ
Pythonのコーディングにオススメな無料テキストエディタまとめ

【Python入門】Pythonにおけるclassの使い方とは?

投稿者:プロスタ編集部

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

おすすめスクール

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

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

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

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

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

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

システムアーキテクチュアナレッジ
ページ上部へ戻る