Python中的模式
统计模式简介
在统计学中,指在一组给定数据值中出现频率最高的值被称为 模式 。换句话说,出现频率高或重复出现的数字或值被称为 模式 或 模态值 。模式是三个 中央趋势 度量之一。其他两个度量分别是平均值和中位数。
例如 –
我们有一个 数据集A = {4, 5, 6, 6, 7, 8, 9} 。由于数字 6 的频率更高,因此 A的模式是6 。因此,对于有限数量的观察值,很容易找到模式。数据值集合可能具有一个模态值,多个模态值或根本没有模式。连续概率分布的模式通常被认为是值x。其概率密度函数具有 最大局部值 ,因此任何峰值都是模式。
Python中的mode()函数
在处理统计数据和处理一组大范围的数据值时,Python成为一种非常强大的编程语言。 Python提供了一个名为 statistics 模块的功能非常多的模块,其中之一是 mode() 函数。mode()函数用于返回所提供数据集范围中核心数据点的稳健度量。
mode() 函数是Python编程语言标准 statistics 库中仅适用于非数值(名义)数据的函数。
让我们看一下Python中mode函数的语法。
语法:
mode() 函数的语法如下所示:
statistics.mode(data)
Python中mode()函数的参数
mode()函数的参数是data。它可以是迭代或序列 – 例如,列表、元组和许多其他数据类型。
注意:如果data参数为空,mode()函数将引发StatisticsError。
Python中mode()函数的返回值
mode()函数将根据参数中提供的数据计算得出的模式返回浮点数或非数值(名义)值(例如,列表、元组和其他数据类型)。
让我们以Python编程语言的标准统计库中的mode()函数为基础,考虑一些示例。
示例1:找到以下数据集的模式:
# importing the statistics library
import statistics
# creating the data set
my_set = [10, 20, 30, 30, 40, 40, 40, 50, 50, 60]
# estimating the mode of the given set
my_mode = statistics.mode( my_set)
# printing the estimated mode to the users
print("Mode of given set of data values is", my_mode)
输出:
Mode of given set of data values is 40
解释:
在上面的示例中,我们导入了 statistics 库,并创建了一个集合 my_set 。然后,我们使用 statistics.mode() 函数估计给定集合的众数,并将其值打印给用户。结果是,集合中频率最高的值被成功打印出来。
示例2: 在不同数据类型的变量上演示mode()函数的工作原理。
# importing the statistics library
import statistics
# importing the fractions module
from fractions import Fraction as fr
# creating the tuple of positive integer numbers
data_1 = (20, 30, 30, 40, 50, 50, 50, 60, 70, 70)
# creating the tuple of floating point values
data_2 = (1.2, 2.3, 2.3, 3.4, 4.5, 4.5, 4.5, 5.6, 5.6, 7.8)
# creating the tuple of fractional numbers
data_3 = (fr(1,3), fr(1,5), fr(1,5), fr(2,3), fr(3,4), fr(8,9))
# creating the tuple of negative integer numbers
data_4 = (-9, -8, -7, -7, -7, -6, -5, -5, -4, -2)
# creating the tuple of strings
data_5 = ("apple", "mango", "mango", "mango", "banana", "guava", "guava")
# estimating the mode of the given datasets
mode_1 = statistics.mode( data_1)
mode_2 = statistics.mode( data_2)
mode_3 = statistics.mode( data_3)
mode_4 = statistics.mode( data_4)
mode_5 = statistics.mode( data_5)
# printing the estimated modes to the users
print("1. Mode of First Data set is", mode_1)
print("2. Mode of Second Data set is", mode_2)
print("3. Mode of Third Data set is", mode_3)
print("4. Mode of Forth Data set is", mode_4)
print("5. Mode of Fifth Data set is", mode_5)
输出:
1. Mode of First Data set is 50
2. Mode of Second Data set is 4.5
3. Mode of Third Data set is 1/5
4. Mode of Forth Data set is -7
5. Mode of Fifth Data set is mango
解释:
在上面的示例中,我们导入了statistics
库和fractions
模块。然后,我们创建了一系列不同类型的元组来检查mode()
函数在各种数据类型上的工作情况。我们创建了一个包含正整数、浮点数、分数、负整数和字符串的元组。然后,我们使用statistics.mode()
函数来计算每个数据集的众数。然后,我们将这些估计值打印给用户。
mode()函数的一些应用
mode()
函数是一种统计函数,通常在金融领域中用于将价格和数值与先前记录进行比较。它还可以帮助计算和预测价格分布集合中可能的未来价格。mode()
函数不单独使用,而是与另外两个统计量(平均数和中位数)一起使用。这三种方法一起作为一个强大的工具来揭示数据的许多方面。