【SciPy, Pandas】グラフの歪度(左右の非対称具合)と尖度(尖り具合)を取得する方法[Python]

  • URLをコピーしました!
目次

SciPy, Pandas

前回、Pythonのmatplotlibで、xlim、ylim、set_xlim、set_ylimを使ってグラフエリアの最大値、最小値を取得する方法を紹介しました。

今回はSciPyやPandasを使ってグラフの歪度(左右非対称具合)と尖度(尖り具合)を取得する方法を紹介します。

ということでまずはlmfitのSkewed Voigt Modelを使って、こんなグラフを描いてみました。

import numpy as np
import matplotlib.pyplot as plt
from lmfit.lineshapes import skewed_voigt

x_list = np.arange(0, 100, 0.1)

y_skewedvoigt = skewed_voigt(x_list, 10, 20, 15, 10, 5)

fig = plt.figure()
plt.clf()

plt.plot(x_list, y_skewedvoigt)

plt.show()

実行結果

それでは始めていきましょう。

グラフの歪度(左右非対称具合)を取得する方法

SciPy

SciPyを使ってグラフの歪度(左右非対称具合)を取得するには「scipy.stats」の「skew」を用います。

使い方は「skew(Y値のリスト)」です。

import numpy as np
from lmfit.lineshapes import skewed_voigt
from scipy.stats import skew

x_list = np.arange(0, 100, 0.1)

y_skewedvoigt = skewed_voigt(x_list, 10, 20, 15, 10, 5)

y_skew = skew(y_skewedvoigt)

print(y_skew)

実行結果
0.9916208664386017

Pandas

Pandasを使ってグラフの歪度(左右非対称具合)を取得するには「データフレーム.skew()」を使います。

import numpy as np
from lmfit.lineshapes import skewed_voigt
import pandas as pd

x_list = np.arange(0, 100, 0.1)

y_skewedvoigt = skewed_voigt(x_list, 10, 20, 15, 10, 5)

df = pd.DataFrame(y_skewedvoigt, columns=["skewedvoigt"])

print(df["skewedvoigt"].skew())

実行結果
0.9931111542993579

グラフの尖度(尖り具合)を取得する方法

SciPy

SciPyでグラフの尖度(尖り具合)を取得するには、「scipy.stats」の「kurtosis」を使います。

import numpy as np
from lmfit.lineshapes import skewed_voigt
from scipy.stats import kurtosis

x_list = np.arange(0, 100, 0.1)

y_skewedvoigt = skewed_voigt(x_list, 10, 20, 15, 10, 5)

y_kurt = kurtosis(y_skewedvoigt)

print(y_kurt)

実行結果
-0.4494187127043654

Pandas

Pandasでグラフの尖度(尖り具合)を取得するには、「データフレーム.kurt()」を使います。

import numpy as np
from lmfit.lineshapes import skewed_voigt
import pandas as pd

x_list = np.arange(0, 100, 0.1)

y_skewedvoigt = skewed_voigt(x_list, 10, 20, 15, 10, 5)

df = pd.DataFrame(y_skewedvoigt, columns=["skewedvoigt"])

print(df["skewedvoigt"].kurt())

実行結果
-0.4456498385795187

次回はPyAutoGUIを使ってスクリーンショットを撮影する方法を紹介します。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次