计算一个list中数据的平均数、中位数和众数【python实现】

您所在的位置:网站首页 平均数就是一组数据中间的那个数对吗 计算一个list中数据的平均数、中位数和众数【python实现】

计算一个list中数据的平均数、中位数和众数【python实现】

2024-07-14 03:44| 来源: 网络整理| 查看: 265

一个数列的平均数的定义为,所有数值求和再除以数列长度 中位数定义为,将一个数列排序后位于中间的数值(数列长度为奇数时,取正中间的数,长度为偶数时,去中间的两个数的平均) 众数定义为,在一个数列中,出现次数最多的那个数值。 python代码实现:

#计算平均数 def averagenum(num): nsum = 0 for i in range(len(num)): nsum += num[i] return nsum / len(num) #计算中位数 def mediannum(num): listnum = [num[i] for i in range(len(num))] listnum.sort() lnum = len(num) if lnum % 2 == 1: i = int((lnum + 1) / 2)-1 return listnum[i] else: i = int(lnum / 2)-1 return (listnum[i] + listnum[i + 1]) / 2 #计算众数 def publicnum(num, d = 0): dictnum = {} for i in range(len(num)): if num[i] in dictnum.keys(): dictnum[num[i]] += 1 else: dictnum.setdefault(num[i], 1) maxnum = 0 maxkey = 0 for k, v in dictnum.items(): if v > maxnum: maxnum = v maxkey = k return maxkey

定义:

a = [1, 1 , 2, 5, 7, 9, 9, 9, 20, 7, 9, 55]

测试:

In [1]:averagenum(a) Out[1]: 11.166666666666666 In [2]:mediannum(a) Out[2]: 8.0 In [3]:publicnum(a) Out[3]: 9

运行结果正确! (代码是基于python3的)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3