【Python】SciPyとは?SciPyの基本的な使い方を紹介

  • URLをコピーしました!

今回はデータ分析の分野で頻出するSciPyについて紹介します。

目次

SciPy(サイパイ)とは

SciPyは、科学技術計算を行うためのPythonのライブラリです。

最適化、線形代数、微分積分、統計学などの様々な分野で使用されます。

NumPyなど他のライブラリと合わせて使用することが多いです。

SciPyの公式サイトはこちらです。

SciPyのインストール

はじめてSciPyを使用する方は、インストールが必要です。

SciPyのインストールには、pipを使用します。

コマンドラインで以下コマンドを実行します。

python -m pip install scipy

SciPyのインポート

SciPyをコードで使用するには、以下のようにインポートする必要があります。

SciPyは多くのモジュールで構成されているので、メモリの使用量を抑えるため、

モジュールごとインポートするのが一般的です。

以下は、統計のモジュールstatsをインポートする例です。

from scipy import stats

SciPyの主要機能と使用方法

SciPyの主要機能と使用方法を簡単に紹介します。

SciPyの主要機能は以下の通りです。

  • 微分積分
  • 線形代数
  • 統計

それぞれの機能に対し、使用方法を説明していきます。

積分を計算するには、scipy.integrateモジュールのquad関数を使用します。

quad関数は、積分の結果と推定誤差の2つの値を返します。

微分積分

SciPyを使用して、微分積分を簡単に計算できます。

定積分\(\int_{0}^{1} 2x dx\) を例に計算してみます。

積分を計算するには、scipy.integrateモジュールのquad関数を使用します。

quad関数は、積分の結果と推定誤差の2つの値を返します。

from scipy.integrate import quad

# 積分したい関数を定義
def integrand(x):
    return 2*x

# 0から1までの範囲で関数を積分
result, error = quad(integrand, 0, 1)

print("積分結果:", result)
print("推定誤差:", error)

実行結果

積分結果: 1.0
推定誤差: 1.1102230246251565e-14

線形代数

SciPyを使用して、線形代数を計算できます。

行列\( \left( \begin{array}{rr} 1 & 2 \\ 3 & 4 \end{array} \right) \) の逆行列を計算してみます。

SciPyで逆行列を計算するには、scipy.linargモジュールのinv関数を使用します。

import numpy as np
from scipy.linalg import inv

# 行列Aを定義
A = np.array([[1, 2], [3, 4]])

# 行列Aの逆行列を計算
A_inv = inv(A)

print("逆行列:")
print(A_inv)

実行結果

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

統計

最後にSciPyを使用し、統計の計算していきます。

レストランのお会計額に対し、記述統計を計算してみます。

SciPyで記述統計を計算するには、scipy.statsモジュールのdescribe関数を使用します。

import seaborn as sns
from scipy import stats

# データ準備
data = sns.load_dataset('tips')

# 記述統計の計算
description = stats.describe(data['total_bill'])
print(description)

実行結果

DescribeResult(nobs=244, minmax=(3.07, 50.81), mean=19.78594262295082, variance=79.25293861397827, skewness=1.1262346334818638, kurtosis=1.1691681323851366)

まとめ

今回はSciPyについて、SciPyとはなにか、からSciPyの主要機能の簡単な使用例までを紹介しました。

SciPyは数学の計算をするときに使用するライブラリなんだなっとだけ理解していただければと思います。

ここまで読んでくださりありがとうございます。

参考

おすすめ教材

米国データサイエンティストが教える統計学超入門講座【Pythonで実践】 icon 【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜 icon

他のUdemyの講座が気になる方はこちら

¥3,630 (2024/04/08 23:55時点 | Amazon調べ)
よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

エンジニア。20代。組み込みエンジニアとして働き始めるも、働き方や業務内容に限界を感じ、 AI,Web3エンジニアを目指して勉強中。 エンジニアとして思うことや、学んだことを発信します。

目次