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. 中位数 中位数是指数字列表中最中心的值。尽管很容易解释,但中位数比平均值更难计算。这是因为为了找到中位数,必须对列表中的数字进行排序。此外,我们必须区分两种情况。如果列表中元素的数量为奇数,则中位数是列表中最中心的成员。但是,如果列表中有偶数个元素,则需要确定两个最中心的数字的算术平均值。
使用数学公式描述如下:
文章图片
用代码实现如下:
文章图片
与算术平均值相比,中位数受极值(非常大或非常小)的影响较小,举例如下:
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】使用一行代码实现均值,中位数和众数】
文章图片
推荐阅读
- #|pandas的简单使用(数据统计)
- 深度学习|Jupyter Notebook(Anaconda)——两个环境分别修改默认打开目录(深度学习第一周番外篇)
- #|深度学习之 11 空洞卷积的实现
- 神经网络与深度学习|【神经网络与深度学习】CIFAR10数据集介绍,并使用卷积神经网络训练图像分类模型——[附完整训练代码]
- 人工智能|21个项目玩转深度学习(基于TensorFlow的实践详解02—CIFAR10图像识别)
- python|CIFAR-10 图像识别
- tensorflow2.0|Tensorflow 2 实战(kears)- CIFAR10自定义网络、模型加载与保存实战
- Python之循环语句while
- mysql|数据库系统设计大作业(图书馆管理系统)