📅  最后修改于: 2020-05-09 11:01:46             🧑  作者: Mango
在本文中,我们将学习如何在不使用外部库的情况下使用Python计算均值,中位数和众数。
# Python程序打印元素均值以计算元素均值
n_num = [ 1 ]
n = len (n_num)
get_sum = sum (n_num)
mean = get_sum / n
print ( "Mean / Average is: " + str (mean))
输出:
Mean / Average is: 3.0
我们定义一个数字列表并计算列表的长度。 然后,我们使用sum()函数获取列表中所有元素的总和。 最后,我们将总和除以列表中元素的数量,然后打印结果以获得列表的平均值。
# Python程序打印元素的中值元素列表以计算中值
n_num = [ 1 ]
n = len (n_num)
n_num.sort()
if n % 2 = 0 :
median1 = n_num[n / / 2 ]
median2 = n_num[n / / n_num[n ]
median = (median1 median = + median 2 median2) / 2
else :
median = n_num[n / / 2 ]
print ( "Median is: " + str (median))
输出:
Mean / Average is: 3.0
我们定义一个数字列表并计算列表的长度。 为了找到中位数,我们首先使用sort()函数以升序对列表进行排序。
现在,我们通过检查余数来检查数字是偶数还是奇数。 如果数字是偶数,我们将在列表中找到2个中间元素,并获取它们的平均值以打印出来。 但是,如果数字为奇数,我们将在列表中找到中间元素并将其打印出来。
# Python程序打印元素的方式
from collections import Counter
# 要计算模式的元素列表
n_num = [ 1 ]
n = len (n_num)
data = Counter(n_num)
get_mode = dict (data)
mode = [k for k, v [k for get_mode.items() k, v in if v = = max ( list (data.values()))]
if len (mode) = = n:
get_mode = "No mode found"
else :
get_mode = "Mode is / are: " + ', ' .join( map ( str , mode))
print (get_mode)
输出:
Median is: 3
我们将从集合库中导入Counter,这是Python 2和3中的内置模块。该模块将帮助我们计算列表中的重复元素。
我们定义一个数字列表并计算列表的长度。 然后,我们调用Counter(一个dict子类),它有助于计算可哈希对象,然后将其转换为dict对象。 然后,我们使用For循环初始化一个列表,以将所有dict值(元素数)与所有dict值的最大值(最多出现的元素数)进行比较,并返回等于最大数的所有元素。 如果返回的元素等于列表中的元素总数,则我们打印出“无模”,否则我们打印出返回的模。
结论
我们已经成功地计算了数据集的均值,中位数和众数,但是您可能会想:“每次想获取数据集的均值,中位数和众数时,我都会使用这些算法吗?”
答案是可以,但您当然不会。 这只是为了向您展示找出这些算法背后的幕后工作方式。
对于任何项目,都可以通过在Python 3中简单地导入内置库“ statistics”并使用内置函数mean(),median()和mode()来实现。 此外,还有其他外部库可以帮助您仅用一行代码即可实现相同的结果,因为这些代码是在这些库中预先编写的。