众数:一组数据中出现次数最多的数值,一组数据可以不存在、存在一个或多个众数,众数用M表示。当所有数据出现次数都相同时,众数不存在。

实现思路

因为无法直接获知一个数组当中出现频率最高的数值,所以我们需要先统计数组中每一个数值的出现次数,而后再找出所有出现次数最高的数值。其中:

记录每个数值的出现次数,可以使用哈希表存储,变量值的值作为key,变量值出现的频数作为value。

若发现变量值列表中所有数值均只出现了一次,则返回空数组(众数不存在)。

实现代码

有效定义域:实数集

def descriptive_mode(list):

# [第1步] 获取 变量值列表 中 所有不重复的变量值

list_set=set(list);

# [第2步] 获取 所有不重复的变量值 在 变量值列表 中的 出现频数

frequency_dict={};

for i in list_set:

frequency_dict[i]=list.count(i)

# [第3步] 获取 变量值列表 中 出现频数 最高的数值的 出现频数

max_frequency=max(frequency_dict.values())

mode_list=[]

if max_frequency==1: # 若最高的 出现频数 为1,则没有众数

return mode_list;

# [第4步] 找出 所有不重复的变量值 中 出现频数 最高的变量值

for key,value in frequency_dict.items():

if value==max_frequency:

mode_list.append(key)

return mode_list

测试:

mode=descriptive_mode([3,1,2,1.5,1.5,1.5]);

print(mode)

结果:

1.5

代码解释

list_set=set(list) #将List转化为集合(可以去除重复元素)

for i in list_set #遍历list_set中的每一个元素

hashmap[key]=value #在hashmap中添加一个键值对,其中键为key,值为value

list.append(num) #将num添加到数组list

作者:长行

python 描述统计_Python统计学-004:描述统计-众数相关推荐

  1. 用python动手学统计学_3-5样本统计量的性质

    样本统计量的性质 3-5-1整洁数据 试验可以在完全相同地条件下进行多次,这叫重复试验. 在能够重复试验的前提下进行重复进行试验的次数叫作试验次数. 3-5-2样本分布 样本分布是样本的统计量所服从的 ...

  2. python画代码-Python教程_Python画Mandelbrot集 代码

    Python教程_Python画Mandelbrot集 代码 作者:Comet 来源: 课课家 www.kokojia.com点击数:278发布时间:2015-06-19 11:17:19 曼德勃罗集 ...

  3. 用python动手学统计学_3-6正态分布

    正态分布 概率密度 实现以均值为4.方差为0.64,随机变量为3计算概率密度: # 用于数值计算的库 import numpy as np import pandas as pd import sci ...

  4. c语言实现爬虫功能,用C/C 扩展Python语言_python 调用c语言 python实现简单爬虫功能_python实现简单爬虫...

    用C/C 扩展Python语言 Python是一门功能强大的脚本语言,它的强大不仅表现在功能上,还表现在其扩展性上.她提供大量的API以方便程序员利用C/C++对Python进行扩展.因为执行速度慢几 ...

  5. python编程语言_python编程语言的简要历史

    python编程语言 The Python programming language is a general-purpose programming language that has carved ...

  6. 2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?

    2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?编程界的王者是渐落寞的Java还是大火的Python? 是不是你们也喜 ...

  7. python在统计专业的应用_Python统计学一数据的概括性度量详解

    一.数据的概括性度量 1.统计学概括: 统计学是应用数学的一个分支,主要通过利用概率论建立数学模型,收集所观察系统的数据,进行量化的分析.总结,并进而进行推断和预测,为相关决策提供依据和参考.统计学主 ...

  8. Python | Pandas | 统计学分析:众数、中位数、偏度等

    Last Modified: 2022/1/20 #todo: python 计算众数.中位数.分位数.偏度.峰度 Python | Pandas | 统计学分析 前言 参考链接 前言 参考链接 本文 ...

  9. python如何用色度表示数值大小_python入门004数字(例程界面很清晰大小也合适)

    (例程界面很清晰大小也合适) https://m.toutiao.com/is/JEFkLTv/ python入门004:数字 一.整数和浮点数 1.整数 在python中,可以对整数执行加(+)减( ...

最新文章

  1. 专业介绍Linux中的进程管理
  2. SAP MM 采购附加费计入物料成本?
  3. iOS开发-获取设备型号信息
  4. JAVA 读取图片储存至本地
  5. python写乘法口诀-如何用python编写乘法口诀表
  6. Day 9 函数的初识1
  7. LeetCode 2069. 模拟行走机器人 II(模拟)
  8. TensorFlow tf.squeeze
  9. 用Qt写软件系列一:QCacheViewer(浏览器缓存查看器)
  10. 免费UNIX体验中心
  11. 太强了!这款轻量级中间件几行代码就搞定SpringBoot的分库分表问题
  12. mysql5.7 64位linux 安装,Linux安装64位Mysql5.7
  13. SolidWorks有限元分析流程
  14. jsp技术(一)—— jsp简介与原理
  15. m3u8视频下载和转码mp4
  16. Burpsuite 史上最详细 安装教程
  17. 操作系统—PV操作解决和尚打水问题
  18. 【java毕业设计】基于javaEE+SSH+mysql+strust2的超市积分管理系统设计与实现(毕业论文+程序源码)——超市积分管理系统
  19. Latex之自定义页眉页脚
  20. LC72 Edit Distance

热门文章

  1. 【重点 递归构造二叉树】LeetCode 95. Unique Binary Search Trees II
  2. 程序员面试金典——9.5字符串排列
  3. 【重点递归】剑指offer——面试题18:树的子结构
  4. 【重点 递归版】剑指offer——面试题16:反转链表
  5. latex 论文绘图: 图像文字重叠
  6. map() 与 nest.map_structure() 的区别及用法
  7. 001_02-python基础习题答案
  8. 又优化了一下 Android ListView 异步加载图片
  9. hdu 3221 Brute-force Algorithm(高速幂取模,矩阵高速幂求fib)
  10. 一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置