迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中查找列表的中位数

作者:迹忆客 最近更新:2023/12/21 浏览次数:

在统计学和概率的世界里,一组给定观测值的中值是中间元素。当元素总数是奇数和偶数时,它的计算方法是不同的。

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

如果列表的长度是奇数,则列表的中位数是排序列表的中间元素;否则,它是两个中间元素的平均值。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便