python取列表中位数_在Python中查找列表的中位数

Python 3.4有statistics.median :返回数字数据的中位数(中间值)。当数据点数为奇数时,返回中间数据点。 当数据点的数量是偶数时,通过取两个中间值的平均值来插值中值:>>> median([1, 3, 5]) 3 >>> median([1, 3, 5, 7]) 4.0用法:import statistics items = [1, 2,...
摘要由CSDN通过智能技术生成

Python 3.4有statistics.median :

返回数字数据的中位数(中间值)。

当数据点数为奇数时,返回中间数据点。 当数据点的数量是偶数时,通过取两个中间值的平均值来插值中值:

>>> median([1, 3, 5]) 3 >>> median([1, 3, 5, 7]) 4.0

用法:

import statistics items = [1, 2, 3, 6, 8] statistics.median(items) #>>> 3

types也很小心:

statistics.median(map(float, items)) #>>> 3.0 from decimal import Decimal statistics.median(map(Decimal, items)) #>>> Decimal('3')

对于python-2.x :

使用numpy.median()来创build一个单行的函数:

>>> from numpy import median >>> median([1, -4, -1, -1, 1, -3]) -1.0

或者, 写一个函数 :

def median(lst): n = len(lst) if n < 1: return None if n % 2 == 1: return sorted(lst)[n//2] else: return sum(sorted(lst)[n//2-1:n//2+1])/2.0

>>> median([-5, -5, -3, -4, 0, -1]) -3.5

对于python-3.x ,使用statistics.median :

>>> from statistics import median >>> median([5, 2, 3, 8, 9, -2]) 4.0

sorted()函数对此非常有帮助。 使用sorting后的函数对列表进行sorting,然后简单地返回中间值(或者如果列表中包含偶数个元素,则平均中间两个值)。

def median(lst): sortedLst = sorted(lst) lstLen = len(lst) index = (lstLen -

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值