SciPy scipy.stats.mode 関数
-
scipy.stats.mode()
の構文: -
コード例:
scipy.stats.mode()``軸が設定されていない
でモードを検索するメソッド -
コード例:
scipy.stats.mode()
関数でaxis=None
を設定する -
コード例:
scipy.stats.mode()
関数でaxis=1
を設定する
![SciPy scipy.stats.mode 関数](/img/Scipy/feature-image---scipy-scipy.stats.mode-method.webp)
Python Scipy scipy.stats.mode()
関数は、指定された軸に沿った配列要素のモードを計算します。モードは、データセットで最も頻繁に観測される値です。データセット内で複数のアイテムの頻度が最も高い場合、モードとして最小の値を取得します。
scipy.stats.mode()
の構文:
scipy.stats.mode(a, axis=0)
パラメーター
a |
これは、モードが計算される n 次元配列です。 |
axis |
これはオプションのパラメータです。これは、モードが計算される軸です。デフォルトでは、axis=0 |
戻り値
2つの値を返します。
- 設定された軸に応じた n 次元配列要素のモード値の配列。
- n 次元配列要素に存在する各モード値のカウントの配列。
コード例:scipy.stats.mode()``軸が設定されていない
でモードを検索するメソッド
import numpy as np
import scipy
from scipy import stats
arr = np.array([[2, 5, 6, 8], [3, 7, 3, 0], [1, 1, 4, 4], [9, 5, 0, 5], [6, 4, 2, 2]])
result = scipy.stats.mode(arr)
print("The mode of given data is:\n", result[0])
print("The frequency of mode items is:\n", result[1])
出力:
The mode of given data is:
[[1 5 0 0]]
The frequency of mode items is:
[[1 2 1 1]]
ここでは、多次元配列 arr
が 2
次元で作成されています。配列は引数として stats.mode
関数に渡され、変数 result
に格納された出力が生成されます。
この状態では軸パラメータが定義されていないため、モード操作はデフォルトで横軸で行われます。
最初の列の要素でわかるように、すべての要素のカウントが等しく、1
が最小値であるため、カウント 1
の最初の列 1
のモードが得られます。2 番目の列要素では、5
が 2 回発生するため、カウント 2
のモードであり、残りの列要素でも同様です。
出力には 2つの値が表示されます。1つ目はモード値要素を持つ配列を示す ModeResult
であり、2つ目は count
は特定の多次元データのそれぞれのモード値の数を示す配列です。
コード例:scipy.stats.mode()
関数で axis=None
を設定する
scipy.stats.mode()
関数で axis=None
を設定すると、関数は配列全体から単一のモードを計算します。
import numpy as np
import scipy
from scipy import stats
arr = np.array([[2, 5, 6, 8], [3, 7, 3, 0], [1, 1, 4, 4], [9, 5, 0, 5], [6, 4, 2, 2]])
result = scipy.stats.mode(arr, axis=None)
print("The mode of given data is :", result[0][0])
print("The frequency of mode is :", result[1][0])
出力:
The mode of given data is : 2
The frequency of mode is : 3
ここでは、軸が None
に設定されている場合は常に、モード操作が配列要素全体で行われ、最も頻繁に観測されるデータが考慮されるため、出力には単一の配列要素 2
が表示されます。
コード例:scipy.stats.mode()
関数で axis=1
を設定する
scipy.stats.mode()
関数で axis=1
を設定すると、関数は配列の各行のモードを計算します。
import numpy as np
import scipy
from scipy import stats
arr = np.array([[2, 5, 6, 8], [3, 7, 3, 0], [1, 1, 4, 4], [9, 5, 0, 5], [6, 4, 2, 2]])
result = scipy.stats.mode(arr, axis=1)
print("The mode of given data is:\n", result[0])
print("The frequency of mode items is:\n", result[1])
出力:
The mode of given data is:
[[2]
[3]
[1]
[5]
[2]]
The frequency of mode items is:
[[1]
[2]
[2]
[2]
[2]]
ここで、軸は 1
に設定されています。これは、モード操作が垂直軸で行われることを意味します。したがって、最初の行の要素では、要素が繰り返されておらず、最小の 2
がモードであることがわかります。要素の 2 行目では、3
が最も繰り返されているため、他の要素と同様のモードになっています。