python计算中位数、标准差_python 实现求和、计数、最大最小值、平均值、中位数、标准偏差、百分比。...

import sys class Stats:

def __init__(self, sequence):

# sequence of numbers we will process

# convert all items to floats for numerical processing

self.sequence = [float(item) for item in sequence]

def sum(self):

if len(self.sequence) < 1:

return None

else:

return sum(self.sequence)

def count(self):

return len(self.sequence)

def min(self):

if len(self.sequence) < 1:

return None

else:

return min(self.sequence)

def max(self):

if len(self.sequence) < 1:

return None

else:

return max(self.sequence)

def avg(self):

if len(self.sequence) < 1:

return None

else:

return sum(self.sequence) / len(self.sequence)

def median(self):

if len(self.sequence) < 1:

return None

else:

self.sequence.sort()

return self.sequence[len(self.sequence) // 2]

def stdev(self):

if len(self.sequence) < 1:

return None

else:

avg = self.avg()

sdsq = sum([(i - avg) ** 2 for i in self.sequence])

stdev = (sdsq / (len(self.sequence) - 1)) ** .5

return stdev

def percentile(self, percentile):

if len(self.sequence) < 1:

value = None

elif (percentile >= 100):

sys.stderr.write('ERROR: percentile must be < 100.

you supplied: %s\n'% percentile)

value = None

else:

element_idx = int(len(self.sequence) * (percentile / 100.0))

self.sequence.sort()

value = self.sequence[element_idx]

return value

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值