scipy.stats.
mode#
- scipy.stats.mode(a, axis=0, nan_policy='propagate', keepdims=False)[source]#
返回傳遞陣列中眾數(最常見)值的陣列。
如果有多個此類值,則僅返回一個。 也會返回眾數組的 bin 計數。
- 參數:
- aarray_like
數值,要尋找眾數的 n 維陣列。
- axisint 或 None,預設值:0
如果為整數,則為計算統計量的輸入軸。 輸入的每個軸切片(例如,行)的統計量將出現在輸出的對應元素中。 如果
None
,則輸入將在計算統計量之前被展平。- nan_policy{‘propagate’, ‘omit’, ‘raise’}
定義如何處理輸入 NaN。
propagate
:如果 NaN 出現在計算統計量的軸切片(例如,行)中,則輸出的對應條目將為 NaN。omit
:執行計算時將省略 NaN。 如果沿計算統計量的軸切片中剩餘的資料不足,則輸出的對應條目將為 NaN。raise
:如果存在 NaN,將引發ValueError
。
- keepdimsbool,預設值:False
如果將其設定為 True,則縮減的軸將保留在結果中,作為大小為 1 的維度。 使用此選項,結果將針對輸入陣列正確廣播。
- 返回:
- modendarray
眾數值的陣列。
- countndarray
每個眾數的計數陣列。
註解
眾數是使用
numpy.unique
計算的。 在 NumPy 1.21 及更高版本中,所有 NaN(即使是二進位表示形式不同的 NaN)都被視為等效,並計為相同值的單獨實例。依照慣例,空陣列的眾數為 NaN,且關聯的計數為零。
從 SciPy 1.9 開始,
np.matrix
輸入(不建議用於新程式碼)會在執行計算之前轉換為np.ndarray
。 在這種情況下,輸出將是純量或np.ndarray
的適當形狀,而不是 2Dnp.matrix
。 同樣地,雖然會忽略遮罩陣列的遮罩元素,但輸出將是純量或np.ndarray
,而不是具有mask=False
的遮罩陣列。範例
>>> import numpy as np >>> a = np.array([[3, 0, 3, 7], ... [3, 2, 6, 2], ... [1, 7, 2, 8], ... [3, 0, 6, 1], ... [3, 2, 5, 5]]) >>> from scipy import stats >>> stats.mode(a, keepdims=True) ModeResult(mode=array([[3, 0, 6, 1]]), count=array([[4, 2, 2, 1]]))
若要取得整個陣列的眾數,請指定
axis=None
>>> stats.mode(a, axis=None, keepdims=True) ModeResult(mode=[[3]], count=[[5]]) >>> stats.mode(a, axis=None, keepdims=False) ModeResult(mode=3, count=5)