計算 NumPy 中陣列的眾數
本教程將介紹如何在 Python 中計算 NumPy 陣列的眾數。
使用 scipy.stats.mode()
函式計算 NumPy 陣列的眾數
眾數是集合中重複次數最多的值。scipy.stats
庫包含許多與統計相關的函式。scipy.stats
庫中的 mode()
函式 在 Python 中查詢陣列的模式。它接受一個陣列作為輸入引數並返回輸入陣列中最常見值的陣列。為了讓這個方法起作用,我們必須安裝 scipy
包。下面給出了安裝它的命令。
pip install scipy
以下程式碼示例向我們展示瞭如何使用 scipy.stats.mode()
函式計算 NumPy 陣列內的模式。
import numpy as np
from scipy import stats
array = np.array([1, 2, 3, 4, 4, 5])
mode = stats.mode(array)
print(mode[0])
輸出:
[4]
我們首先使用 np.array()
函式建立了陣列 array
。然後我們使用 scipy.stats.mode()
函式計算模式並將結果儲存在 mode
陣列中。最後,我們通過列印 mode
陣列的第一個元素來顯示重複次數最多的值。
使用 numpy.unique()
函式計算 NumPy 陣列的眾數
如果我們只想使用 NumPy
包來查詢模式,我們可以使用 numpy.unique()
函式。numpy.unique()
函式 將陣列作為輸入引數,並返回輸入陣列內所有唯一元素的陣列。我們還可以將 return_count
引數指定為 True
以獲取每個唯一元素在輸入陣列中重複的次數。
import numpy as np
array = np.array([1, 2, 3, 4, 4, 5])
vals, counts = np.unique(array, return_counts=True)
index = np.argmax(counts)
print(vals[index])
輸出:
4
在上面的程式碼中,我們使用 Python 中的 np.unique()
和 np.argmax()
函式計算了 NumPy 陣列 array
的眾數。我們首先使用 np.array()
函式建立了陣列 array
。然後我們使用 np.unique()
函式並將唯一值儲存在 vals
陣列中,每個值在 counts
陣列中重複的次數。然後我們使用 np.argmax()
函式計算 counts
陣列中的最大值,並將該值儲存在 index
變數中。最後,我們通過在 vals
陣列的 index
索引處列印值來顯示模式。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn