Python|【Python】使用一行代码实现均值,中位数和众数

1. 引言 在做数据分析时,我们经常需要使用统计量来更加方便的了解数据的分布。但是统计量有多种计算方式,本文重点介绍常用的三种数据统计中常用的统计量,即均值,中位数和众数;并尝试使用一行Python代码来实现其具体计算。
闲话少说,我们直接开始吧!
2. 算术平均数 算术平均数又叫均值,定义相对简单,其计算公式为: 算术平均数=所有数之和/总个数
用代码实现如下:

def mean(lis): return sum(lis)/len(lis)

算术平均数是我们在日常中使用最为广泛的一个统计量,实际举例如下:
lis = [1,2,3,4,5] print(mean(lis))# 3 as (1+2+3+4+5)/5

3. 中位数 中位数是指数字列表中最中心的值。尽管很容易解释,但中位数比平均值更难计算。这是因为为了找到中位数,必须对列表中的数字进行排序。此外,我们必须区分两种情况。如果列表中元素的数量为奇数,则中位数是列表中最中心的成员。但是,如果列表中有偶数个元素,则需要确定两个最中心的数字的算术平均值。
使用数学公式描述如下:
Python|【Python】使用一行代码实现均值,中位数和众数
文章图片

用代码实现如下:
Python|【Python】使用一行代码实现均值,中位数和众数
文章图片

与算术平均值相比,中位数受极值(非常大或非常小)的影响较小,举例如下:
lis = [4,1,3,2,10000] print(median(lis)) # 3 # if we sort lis, we get [1,2,3,4,10000] #the number in the middle is 3, #so 3 is the median # The arithmetic mean is 2502.5 (inflated by extreme values)

请注意,如果我们的列表长度位偶数,则将有2个中间数字。因此,中位数是 2 个中间数字的平均值。
lis = [1,2,3,4,5,6] print(median(lis))# 3.5 as (3+4)/2

4. 众数 众数是一组数据中出现次数最多的数字,代码实现如下:
def mode(lis): return max(lis, key=lambda x:lis.count(x))

众数的概念不仅适用于数值型数据,也适用于字符串等数据类型。我们举例如下:
lis = [1,1,1,2,2,3] print(mode(lis))# 1 as it appears the most lis = ["a", "a", "b", "b", "b", "c"] print(mode(lis))# "b" as it appears the most

5. 总结 本文重点介绍了在数据统计中最常使用的三个统计量,算术平均数,中位数以及众数,给出了其相关概念的定义和具体的Python实现。
您学废了嘛?
【Python|【Python】使用一行代码实现均值,中位数和众数】Python|【Python】使用一行代码实现均值,中位数和众数
文章图片

    推荐阅读