在 Python 中查找列表的中位数
Manav Narula
2023年1月30日
-
在 Python 中使用
statistics
模块查找列表的中位数 -
在 Python 中使用
numpy.percentile
函数寻找一个列表的中位数 - 在 Python 中使用自定义代码查找一个列表的中位数
在统计学和概率的世界里,一组给定观测值的中值是中间元素。当元素总数是奇数和偶数时,它的计算方法是不同的。
Python 经常被用于数据和统计分析。本教程将介绍如何用 Python 计算列表的中位数。
在 Python 中使用 statistics
模块查找列表的中位数
在 Python 中,我们有 statistics
模块,它有不同的函数和类来从一组数据中找到不同的统计值。这个库中的 median()
函数可以用来寻找一个列表的中位数。
由于中位数基于排序的数据列表上的,所以 median()
函数会自动对其进行排序,并返回中位数。例如
import statistics
lst = [7, 8, 9, 5, 1, 2, 2, 3, 4, 5]
print(statistics.median(lst))
输出:
4.5
在 Python 中使用 numpy.percentile
函数寻找一个列表的中位数
在 NumPy
模块中,我们有一些函数可以从一个数组中找到百分位值。数据的中位数是第 50 个百分位值。为了找到这个值,我们可以使用 NumPy
模块中的 percentile()
函数,计算出第 50 个百分位值。请看下面的代码。
import numpy as np
a = np.array([7, 8, 9, 5, 1, 2, 2, 3, 4, 5])
median_value = np.percentile(a, 50)
print(median_value)
输出:
4.5
在 Python 中使用自定义代码查找一个列表的中位数
我们还可以使用 Python 公式来查找数据的中位数,并创建用户定义的函数。例如,
lst = [7, 8, 9, 5, 1, 2, 2, 3, 4, 5]
def median(l):
half = len(l) // 2
l.sort()
if not len(l) % 2:
return (l[half - 1] + l[half]) / 2.0
return l[half]
print(median(lst))
输出:
4.5
如果列表的长度是奇数,则列表的中位数是排序列表的中间元素;否则,它是两个中间元素的平均值。
作者: Manav Narula
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn