计算一个list中数据的平均数、中位数和众数【python实现】 |
您所在的位置:网站首页 › 平均数就是一组数据中间的那个数对吗 › 计算一个list中数据的平均数、中位数和众数【python实现】 |
一个数列的平均数的定义为,所有数值求和再除以数列长度 中位数定义为,将一个数列排序后位于中间的数值(数列长度为奇数时,取正中间的数,长度为偶数时,去中间的两个数的平均) 众数定义为,在一个数列中,出现次数最多的那个数值。 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 |