mode()函数常见的使用方法如下:
- 列表模式
from statistics import mode
data = [1, 2, 3, 2, 2, 4]
mode_val = mode(data)
print(mode_val) # 输出2
- 字典模式
data = {'a': 3, 'b': 5, 'c':3}
mode_val = mode(data.values())
print(mode_val) # 输出3
- 多个模式
import scipy.stats as stats
data = [1, 2, 3, 3, 4]
mode_val = stats.mode(data)
print(mode_val) # 输出(3,2)
我们可以看到这里的输出结果不仅有输出的众数是哪个,还会显示出现的次数有多少次。
所以对于我们经常看到的求众数的函数 mode(data)[0][0]
- data是一个数据集(可能是列表、数组等)
- mode(data) 计算出了d2中的众数模式
- mode(data)返回了一个元组对象,元组中包含众数值和出现次数
- mode(data)[0] 取出了这个元组中的第一个元素,也就是众数的值
- mode(data)[0][0] 进一步取出了众数值中的第一个(唯一的)元素
所以总结一下,这段代码的作用是:
从数据集data中提取出唯一的众数值。
假设d2的数据是:[1, 2, 3, 4, 4, 4, 5]
那么mode(data)会返回 (4, 3),也就是众数是4,出现了3次。
然后mode(data)[0]取出众数4,
mode(data)[0][0]进一步取出这个众数值4。