平均数、众数、中位数、极差、方差、标准差……

Python代码实现

第一步:添加数据到列表
def num(a):
    if float(a) == int(a):
        return int(a)
    return float(a)
#添加数据
li = []
print("请逐条添加数据!  (若退出请输入0000)")
while True:
    print("请输入:")
    x = input()
    if x == "0000":
        break
    li.append(num(float(x)))

其中,num() 为自定义函数,用于取整,即在不影响数值的情况下,去掉小数点后的 0
以上代码用于添加一组数据。

功能一:最大值、最小值、总和
print("最大值:",max(li))
print("最小值:",min(li))
print("总和:",sum(li))
功能二:平均数

平均数,统计学术语,是表示一组数据集中趋势的量数,是指在一组数据中所有数据之和再除以这组数据的个数。它是反映数据集中趋势的一项指标。解答平均数应用题的关键在于确定“总数量”以及和总数量对应的总份数。

avg = sum(li) / len(li)
print("平均数:",avg)
功能三:众数

是一组数据中出现次数最多的数值,叫众数,有时众数在一组数中有好几个。

d = {}
for i in li:
    ss = d.get(i)
    if ss == None:
        d[i] = 1
    else:
        d[i] += 1
for i in d.items():
    if i[1] == max(d.values()):
        print("众数:",i[0])

其中,d 为字典,用于存储各个数据出现的次数,字典的键为数据,值为次数。

功能四:中位数

对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数。

lis = sorted(li)
if len(lis) % 2 == 1:
    print("中位数:",lis[int((len(lis) - 1) / 2)])
else:
    print("中位数:",(lis[int(len(lis) / 2 - 1)] + lis[int(len(lis) / 2)]) / 2)
功能五:极差

极差又称范围误差或全距(Range),以R表示,是用来表示统计资料中的变异量数(measures of variation),其最大值与最小值之间的差距,即最大值减最小值后所得之数据。

print("极差:",max(li) - min(li))
功能六:方差与标准差

统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数。在许多实际问题中,研究方差即偏离程度有着重要意义。
标准差(Standard Deviation) ,中文环境中又常称均方差,是离均差平方的算术平均数的平方根,用σ表示。标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。平均数相同的两组数据,标准差未必相同。

sum1 = 0
for i in li:
    sum1 += (i - avg) ** 2
print("方差:",sum1 / len(li))
print("标准差:",(sum1 / len(li)) ** (1 / 2))
以上所有代码的运行效果:


希望这些功能能对大家起到帮助!

博主推荐

n阶行列式求解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值