Pythonによる統計処理の基本として、「データ平均」があります。
本記事では、そんなPython基礎となるデータ平均について、詳しくご説明します。
算術平均
算術平均(相加平均)とは、データの個数と合計を保ったまま、平均した値のことです。
以下に算術平均の方法をご紹介します。
statistics.mean()
statisticsモジュールのstatistics.mean()を使用して、算術平均を計算できます。
以下に例を載せます。
#input
import statistics as st
from fractions import Fraction as F
from decimal import Decimal as D
x1 = [1,2,3,4,5]
m1 = st.mean(x1)
x2 = [F(1,2),F(2,3),F(3,4)]
m2 = st.mean(x2)
x3 = [D("3.51"),D("6.72"),D("9.06")]
m3 = st.mean(x3)
print("整数平均:{}".format(m1))
print("分数平均:{}".format(m2))
print("小数平均:{}".format(m3))
#output
整数平均:3
分数平均:23/36
小数平均:6.43
numpy.mean()
NumPyのnumpy.mean()を使用することで、データ配列の算術平均を計算できます。
以下に例を載せます。
#input
import numpy as np
X1 = np.array([1,2,3,4,5])
M1 = np.mean(X1)
X2 = np.array([[1,11,111],
[2,22,222],
[3,33,333]])
M2 = np.mean(X2,axis = 0)
M3 = np.mean(X2,axis = 1)
print("X1の配列平均:{}".format(M1))
print("X2の配列平均(列):{}".format(M2))
print("X2の配列平均(行):{}".format(M3))
#output
X1の配列平均:3.0
X2の配列平均(列):[ 2. 22. 222.]
X2の配列平均(行):[ 41. 82. 123.]
加重平均
加重平均とは、各データに重み付けをした上で、平均した値のことです。
加重平均は以下の手法で計算できます。
numpy.average()
NumPyのnumpy.average()を使用することで、データ配列の加重平均を計算できます。
引数にweightsを指定することで、各配列データに重み付けします。
以下に例を載せます。
#input
import numpy as np
X1 = np.array([1,2,3,4,5])
W1 = np.array([9,8,7,6,5])
M1 = np.average(X1,weights = W1)
X2 = np.array([[10,20],
[30,40],
[50,60]])
M2 = np.average(X2,axis = 1,weights = [2,3])
print("X1の加重平均:{}".format(M1))
print("X2の加重平均:{}".format(M2))
#output
X1の加重平均:2.7142857142857144
X2の加重平均:[16. 36. 56.]
調和平均
調和平均とは、逆数の算術平均の逆数のことです。
調和平均は以下の手法で計算できます。
statistics.harmonic_mean()
statisticsモジュールのstatistics.harmonic_mean()を使用して、調和平均を計算できます。
#input
from statistics import harmonic_mean as hm
X = [50,150]
M = hm(X)
print("Xの調和平均:{}".format(M))
#output
Xの調和平均:75.0
scipy.stats.hmean()
SciPyのscipy.stats.hmean()を使用すると、下例のように配列の調和平均が計算できます。
#input
import numpy as np
from scipy.stats import hmean as hm
X = np.array([[1,11,111],
[2,22,222],
[3,33,333]])
M1 = hm(X,axis = 0)
M2 = hm(X,axis = 1)
print("Xの調和平均(列):{}".format(M1))
print("Xの調和平均(行):{}".format(M2))
#output
Xの調和平均(列):[ 1.63636364 18. 181.63636364]
Xの調和平均(行):[2.7274758 5.4549516 8.1824274]
幾何平均
幾何平均(相乗平均)とは、データ値の総乗の\(n\)乗根のことです。
幾何平均は以下の手法で計算できます。
scipy.stats.mstats.gmean()
SciPyのscipy.stats.mstats.gmean()を使用すると、幾何平均が計算できます。
#input
import numpy as np
from scipy.stats.mstats import gmean as gm
X1 = [10,30,50,70,90]
M1 = gm(X1)
X2 = np.array([[10,20,30],
[40,50,60],
[70,80,90]])
M2 = gm(X2,axis = 0)
M3 = gm(X2,axis = 1)
print("X1の幾何平均:{}".format(M1))
print("X2の幾何平均(列):{}".format(M2))
print("X2の幾何平均(行):{}".format(M3))
#output
X1の幾何平均:39.36283427035351
X2の幾何平均(列):[30.36588972 43.0886938 54.51361778]
X2の幾何平均(行):[18.17120593 49.32424149 79.58114416]
まとめ
この記事では、Python基礎となるデータ平均について、ご説明しました。
本記事を参考に、ぜひ試してみて下さい。
参考
Python学習用おすすめ教材
Pythonの基本を学びたい方向け
統計学基礎を学びたい方向け
Pythonの統計解析を学びたい方向け
おすすめプログラミングスクール
Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。
私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。
現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。
無料体験ができますので、まずは試してみてください!