Numpy-statistical-functions

提供:Dev Guides
移動先:案内検索

NumPy-統計関数

NumPyには、最小値、最大値、パーセンタイルの標準偏差と分散などを見つけるための便利な統計関数が多数あります。 配列内の指定された要素から。 機能は次のように説明されています-

numpy.amin()およびnumpy.amax()

これらの関数は、指定された軸に沿って、指定された配列の要素から最小値と最大値を返します。

import numpy as np
a = np.array([[print 'Our array is:'
print a
print '\n'

print 'Applying amin() function:'
print np.amin(a,1)
print '\n'

print 'Applying amin() function again:'
print np.amin(a,0)
print '\n'

print 'Applying amax() function:'
print np.amax(a)
print '\n'

print 'Applying amax() function again:'
print np.amax(a, axis = 0)

それは次の出力を生成します-

Our array is:
[[Applying amin() function:
[3 3 2]

Applying amin() function again:
[2 4 3]

Applying amax() function:
9

Applying amax() function again:
[8 7 9]

numpy.ptp()

  • numpy.ptp()*関数は、軸に沿った値の範囲(最大-最小)を返します。
import numpy as np
a = np.array([[print 'Our array is:'
print a
print '\n'

print 'Applying ptp() function:'
print np.ptp(a)
print '\n'

print 'Applying ptp() function along axis 1:'
print np.ptp(a, axis = 1)
print '\n'

print 'Applying ptp() function along axis 0:'
print np.ptp(a, axis = 0)

それは次の出力を生成します-

Our array is:
[[Applying ptp() function:
7

Applying ptp() function along axis 1:
[4 5 7]

Applying ptp() function along axis 0:
[6 3 6]

numpy.percentile()

百分位数(または百分位数)は、統計値で使用される測定値であり、その値を下回ると、観測グループ内の観測の特定のパーセンテージが低下します。 関数* numpy.percentile()*は次の引数を取ります。

numpy.percentile(a, q, axis)

どこで、

Sr.No. Argument & Description
1

a

入力配列

2

q

計算するパーセンタイルは0〜100の間である必要があります

3

axis

パーセンタイルが計算される軸

import numpy as np
a = np.array([[print 'Our array is:'
print a
print '\n'

print 'Applying percentile() function:'
print np.percentile(a,50)
print '\n'

print 'Applying percentile() function along axis 1:'
print np.percentile(a,50, axis = 1)
print '\n'

print 'Applying percentile() function along axis 0:'
print np.percentile(a,50, axis = 0)

それは次の出力を生成します-

Our array is:
[[Applying percentile() function:
50.0

Applying percentile() function along axis 1:
[ 40. 20. 60.]

Applying percentile() function along axis 0:
[ 50. 40. 60.]

numpy.median()

  • 中央値*は、データサンプルの上位半分と下位半分を分離する値として定義されます。 * numpy.median()*関数は、次のプログラムに示すように使用されます。

import numpy as np
a = np.array([[print 'Our array is:'
print a
print '\n'

print 'Applying median() function:'
print np.median(a)
print '\n'

print 'Applying median() function along axis 0:'
print np.median(a, axis = 0)
print '\n'

print 'Applying median() function along axis 1:'
print np.median(a, axis = 1)

それは次の出力を生成します-

Our array is:
[[Applying median() function:
65.0

Applying median() function along axis 0:
[ 50. 90. 60.]

Applying median() function along axis 1:
[ 65. 80. 60.]

numpy.mean()

算術平均は、軸に沿った要素の合計を要素数で割ったものです。 * numpy.mean()*関数は、配列内の要素の算術平均を返します。 軸に言及している場合、それに沿って計算されます。

import numpy as np
a = np.array([[print 'Our array is:'
print a
print '\n'

print 'Applying mean() function:'
print np.mean(a)
print '\n'

print 'Applying mean() function along axis 0:'
print np.mean(a, axis = 0)
print '\n'

print 'Applying mean() function along axis 1:'
print np.mean(a, axis = 1)

それは次の出力を生成します-

Our array is:
[[Applying mean() function:
3.66666666667

Applying mean() function along axis 0:
[ 2.66666667 3.66666667 4.66666667]

Applying mean() function along axis 1:
[ 2. 4. 5.]

numpy.average()

加重平均は、各コンポーネントにその重要性を反映する係数を乗算した結果の平均です。 * numpy.average()*関数は、別の配列で指定されたそれぞれの重みに従って、配列内の要素の加重平均を計算します。 この関数は軸パラメーターを持つことができます。 軸が指定されていない場合、配列はフラット化されます。

配列[1,2,3,4]および対応する重み[4,3,2,1]を考慮して、対応する要素の積を加算し、合計を重みの合計で除算することにより、加重平均が計算されます。

加重平均=(1 4 + 2 3 + 3 2 + 4 1)/(4 + 3 + 2 + 1)

import numpy as np
a = np.array([1,2,3,4])

print 'Our array is:'
print a
print '\n'

print 'Applying average() function:'
print np.average(a)
print '\n'

# this is same as mean when weight is not specified
wts = np.array([4,3,2,1])

print 'Applying average() function again:'
print np.average(a,weights = wts)
print '\n'

# Returns the sum of weights, if the returned parameter is set to True.
print 'Sum of weights'
print np.average([1,2,3, 4],weights = [4,3,2,1], returned = True)

それは次の出力を生成します-

Our array is:
[1 2 3 4]

Applying average() function:
2.5

Applying average() function again:
2.0

Sum of weights
(2.0, 10.0)

多次元配列では、計算の軸を指定できます。

import numpy as np
a = np.arange(6).reshape(3,2)

print 'Our array is:'
print a
print '\n'

print 'Modified array:'
wt = np.array([3,5])
print np.average(a, axis = 1, weights = wt)
print '\n'

print 'Modified array:'
print np.average(a, axis = 1, weights = wt, returned = True)

それは次の出力を生成します-

Our array is:
[[Modified array:
[ 0.625 2.625 4.625]

Modified array:
(array([ 0.625, 2.625, 4.625]), array([ 8., 8., 8.]))

標準偏差

標準偏差は、平均からの偏差の平方の平均の平方根です。 標準偏差の式は次のとおりです-

std = sqrt(mean(abs(x - x.mean())**2))

配列が[1、2、3、4]の場合、平均は2.5です。 したがって、偏差の平方は[2.25、0.25、0.25、2.25]であり、その平均を4で除算した平方根、つまりsqrt(5/4)は1.1180339887498949です。

import numpy as np
print np.std([1,2,3,4])

それは次の出力を生成します-

1.1180339887498949

分散

分散は偏差の二乗の平均、つまり* mean(abs(x-x.mean())** 2)*です。 つまり、標準偏差は分散の平方根です。

import numpy as np
print np.var([1,2,3,4])

それは次の出力を生成します-

1.25