-
2021-06-18 17:05:01
首先需要数据源,这里随便写了一个:
nums = [1,2,3,4]
求均值和中位数均可以使用numpy库的方法:
import numpy as np
#均值
np.mean(nums)
#中位数
np.median(nums)众数:
求众数方法一:
在numpy中没有直接的方法,但是也可以这样实现:
import numpy as np
counts = np.bincount(nums)
#返回众数
np.argmax(counts)
其中np.bincount方法返回了一个长度为 nums最大值的列表,列表中的每个值代表其索引位数值出现在nums中的次数,例如
返回[2,1,0],代表0在nums中出现2次,而1在nums中出现1次,3在nums中没有出现。然后再使用np.argmax就能得到众数啦。但是,由于索引值是从0开始的,所以这种求众数的方法只能用在非负数据集。
求众数方法二——直接利用scipy下stats模块【推荐】:
from scipy import stats
stats.mode(nums)[0][0]
标准差:
更多相关内容 -
C语言 平均数 中位数 众数
2020-11-26 17:09:23平均值 中位数 众数 在习题8.8的基础上, 用一个整型数组feedback保存调查的40个反馈意见。用函数编程计算反馈意见的平均值(Mean) 、中位数(Median) 和众数(Mode) 。中位数指的是排列在数组中间的数。如果原始数据的...平均值 中位数 众数
在习题8.8的基础上, 用一个整型数组feedback保存调查的40个反馈意见。用函数编程计算反馈意见的平均值(Mean) 、中位数(Median) 和众数(Mode) 。中位数指的是排列在数组中间的数。如果原始数据的个数是偶数,那么中位数等于中间那两个元素的算术平均值。众数是数组中出现次数最多的那个数(不考虑两个或两个以上的反馈意见出现次数相同的情况)。
输入:1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 9
输出:
4.725000 5.000000 9
#include <stdio.h> #define N 40 double Mean (int feedback[N]); double Median (int feedback[N]); int Mode (int feedback[N],int count[]); int main (void) { int feedback[N]={0},count[10000]={0},i,mode=0; double mean,median; for (i=0;i<N;i++) { scanf("%d",&feedback[i]); } mean=Mean(feedback); median=Median(feedback); mode=Mode(feedback,count); printf("%f %f %d",mean,median,mode); return 0; } double Mean (int feedback[N]) { int i; double sum=0,mean; for (i=0;i<N;i++) { sum+=feedback[i]; } mean=sum/N; return mean; } double Median (int feedback[N]) { int i,temp,count; double median; do{ count=0; for (i=0;i<N-1;i++) { if (feedback[i]<feedback[i+1]) { temp=feedback[i]; feedback[i]=feedback[i+1]; feedback[i+1]=temp; count++; } } }while (count!=0); if (N%2!=0) { median=feedback[N/2]; } else { median=(feedback[N/2]+feedback[(N/2)-1])/2.0; } return median; } int Mode (int feedback[N],int count[]) { int i,mode=0,max; max=0; for (i=0;i<N;i++) { count[feedback[i]]++; } for (i=0;i<N;i++) { if(max<count[feedback[i]]) { max=count[feedback[i]]; mode=feedback[i]; } } return mode; }
众数部分参考了别人的代码(因为一开始没想到T^T
⚠修改:
谢谢@囷囷jn 的提醒,确实一开始的中位数部分只考虑了N为奇数的情况(学校oj居然给我AC了,太BUG了),没有考虑N为偶数的情况,目前已修改。
而且!!修改过程中发现了一个很恐怖的事情,我一开始在求中位数的函数部分,冒泡排序的时候数组⚠越界了!!!越界真的是很恐怖的事情,感受到了!!!时间:2020/11/26 17:09:23
-
平均数中位数众数
2014-09-12 10:41:18C的平均数中位数众数,想到ing却平均数中位数众数,平均数中位数众数。平均数中位数众数,平均数中位数众数。 -
2018年秋九年级数学上册3.2中位数与众数第2课时灵活运用平均数中位数众数解决问题同步练习新版苏科版
2021-09-09 22:25:242018年秋九年级数学上册3.2中位数与众数第2课时灵活运用平均数中位数众数解决问题同步练习新版苏科版 -
用直方图算平均数中位数众数标准差PPT课件.pptx
2021-10-08 22:13:01用直方图算平均数中位数众数标准差PPT课件.pptx -
C语言——平均值 中位数 众数
2021-01-04 23:17:04记录一下之前困扰了我很久的中位数和众数的函数TvT #include <stdio.h> #include <stdlib.h> #define N 40 double Average(int feedback[N]); double Median (int feedback[N]); int Mode(int feedback...记录一下之前困扰了我很久的中位数和众数的函数TvT
#include <stdio.h> #include <stdlib.h> #define N 40 double Average(int feedback[N]); double Median (int feedback[N]); int Mode(int feedback[N],int b[]); int main() { int feedback[N]={0},b[N]={0}; int modnum=0; //众数 double aver,middle; //平均数,中位数 int i; for(i=0;i<N;i++) { scanf("%d",&feedback[i]); } aver=Average(feedback); middle=Median(feedback); modnum=Mode(feedback,b); printf("%lf %lf %d",aver,middle,modnum); return 0; } double Average(int feedback[N]) { int i; double sum=0,aver; for (i=0;i<N;i++) { sum+=feedback[i]; } aver=sum/N; return aver; } double Median(int feedback[40]) //中位数 { int i,j,m; double middle; for(i=0;i<39;i++) { for(j=0;j<39;j++) if(feedback[j]>feedback[j+1]) //选择排序——升序排列 { m=feedback[j]; feedback[j]=feedback[j+1]; feedback[j+1]=m; } } middle=(feedback[19]+feedback[20])/2.0; //因为题目给定的学生人数为40人.当未知人数时应当分类讨论 return middle; } int Mode(int feedback[N],int b[]) //众数 { int i,modnum=0,m=0; for(i=0;i<N;i++) { b[feedback[i]]++; //将重复数字的出现次数保存在另一个数组 } for(i=0;i<N;i++) { if(m<b[feedback[i]]) //找出出现次数最大的数 { m=b[feedback[i]]; modnum=feedback[i]; } } return modnum; }
-
七年级数学下册第6章数据的分析6.1平均数中位数众数6.1.2中位数习题课件新版湘教版202003212106
2021-09-09 00:37:25七年级数学下册第6章数据的分析6.1平均数中位数众数6.1.2中位数习题课件新版湘教版202003212106 -
八年级数学下册平均数中位数众数C组冲击金牌新浙教PPT课件.pptx
2021-10-07 10:20:17八年级数学下册平均数中位数众数C组冲击金牌新浙教PPT课件.pptx -
八年级数学下册平均数中位数众数C组冲击金牌新浙教PPT学习教案.pptx
2021-10-07 10:40:55八年级数学下册平均数中位数众数C组冲击金牌新浙教PPT学习教案.pptx -
七年级数学下册第6章数据的分析6.1平均数中位数众数6.1.3众数习题课件新版湘教版202003212107
2021-09-09 00:15:30七年级数学下册第6章数据的分析6.1平均数中位数众数6.1.3众数习题课件新版湘教版202003212107 -
七年级数学下册第6章数据分析6.1平均数中位数众数作业设计新版湘教版
2021-09-09 21:05:53七年级数学下册第6章数据分析6.1平均数中位数众数作业设计新版湘教版 -
统计之均值中位数众数全距四分位数以及箱线图展示
2020-10-16 11:54:03中位数: 数字从小到大排列的数列中位于中间位置的那个数,如果数列个数为奇数位则中位数位于(n+1)/2, 如果为偶数位则为n/2与n/2+1的两个数的平均值,可以用numpy.median函数计算 众数:数列中出现频率最多的数, ...均值:即平均数,数列中各数总和除以个数。可用numpy.mean函数计算
中位数: 数字从小到大排列的数列中位于中间位置的那个数,如果数列个数为奇数位则中位数位于(n+1)/2, 如果为偶数位则为n/2与n/2+1的两个数的平均值,可以用numpy.median函数计算
众数:数列中出现频率最多的数, 可以用scipy的stats.mode函数计算
全距:数列中最大值与最小值的差
四分位数:将从小到大排列的数列平均分为4段,最小的四分位数称为下四分位数,最大的成为上四分位数,中间的称为中位数
可以用箱线图展示以上数据(仍以维他命价格为例,数据下载地址)
图形如下
左侧为价格的散点图
右侧为箱线图,其中- min为价格的最小值
- max为价格的最大值
- q1是第一四分位数(下四分位数)即位于25%位值的数
- median为中位数
- q3为第三四分位数(上四分位数)也即位于第75%的数,说明50%的价格集中在¥38.9与¥120.45之间
- upper fence为上限=Q3+1.5IQR,四分位距IQR=Q3-Q1,也就是Q3向上延伸1.5倍IQR的数据点,超出范围则为最大值
- 下限=Q1-1.5IQR,Q1向下延伸1.5倍IQR距的数据点,超出范围则为最小价格值
代码如下:
tbdata = pd.read_csv("tb_vitamin_20200925.csv") p_median = np.median(tbdata["price"]) # 中位数 p_mean = np.mean(tbdata["price"]) # 均值 p = stats.mode(tbdata["price"]) p_argmax = p[0][0] # 众数, p[1][0]返回众数出现的频率 fig = go.Figure() fig.add_trace(go.Box(y=tbdata["price"], boxpoints="all", # 显示所有数据点 jitter=0.3, # 散点的分散程度 pointpos=-1.8, # 散点与box的位置【-2,2】 name="箱线图")) fig.show()
-
2021-2022年收藏的精品资料高考文数直方图中位数众数平均数的计算.doc
2021-09-17 08:00:17精品教育教学资料 -
七年级数学下册第6章数据的分析6.1平均数中位数众数6.1.1平均数习题课件新版湘教版202003212105
2021-09-09 00:43:03七年级数学下册第6章数据的分析6.1平均数中位数众数6.1.1平均数习题课件新版湘教版202003212105 -
2020_2021高中数学第一章统计1.4.1_2平均数中位数众数极差方差标准差课时作业含解析北师大版必修...
2021-08-07 19:56:292020_2021高中数学第一章统计1.4.1_2平均数中位数众数极差方差标准差课时作业含解析北师大版必修320210329193 -
2020_2021学年高中数学第一章统计1.4.1_1.4.2平均数中位数众数极差方差标准差课时素养评价含解析北师大版...
2021-08-07 19:29:052020_2021学年高中数学第一章统计1.4.1_1.4.2平均数中位数众数极差方差标准差课时素养评价含解析北师大版必修3202103041174 -
2019_2020学年高中数学第1章统计1_4_1平均数中位数众数极差方差1_4_2标准差课件北师大版必修32020042906
2021-09-08 20:55:282019_2020学年高中数学第1章统计1_4_1平均数中位数众数极差方差1_4_2标准差课件北师大版必修3202004290674 -
平均数 中位数 众数的实际意义
2019-04-08 10:45:04中位数:像一条分界线,将数据分成前半部分和后半部分,因此用来代表一组数据的“一般水平”。 众数:反映了出现次数最多的数据,用来代表一组数据的“多数水平”。 平均数:与每一个数据都有关,其中任何数据的... -
平均数、中位数、众数,在分析中如何使用?
2021-08-27 15:54:02平均数、中位数、众数,在分析中如何使用?01 平均值的种类02 平均数、中位数还是众数?03 全距和数值分布 01 平均值的种类 请检查下面的陈述: 1、一个快速致富的方法就是做一名职业橄榄球员,2015年美国国家橄榄... -
终于有人把平均数、中位数和众数讲明白了
2021-07-31 00:10:0903 全距和数值分布 不仅判断一个平均值是平均数、中位数还是众数非常重要,判定最小数值和最大数值之间的差距(即全距(range))以及每个数值出现的频率(即数值分布),常常也很重要。 下面我们来看一个例子,在... -
平均数、中位数、众数 三者的联系与区别
2018-07-17 09:23:08一组数据中如果有特别大的数或特别小的数时,一般用中位数 一组数据比较多(20个以上),范围比较集中,一般用众数 其余情况一般还是平均数比较精确 一、联系与区别: 1、平均数是通过计算得到的,因此它会因... -
中位数和众数测试题及答案
2021-01-14 11:13:08某班8名学生完成作业所需时间分别为:75,70,90,70,70,58,80,55(单位:分),则这组数据的众数为____,中位数为_______,平均数为__________2.已知一组数据1,0,3,2,6,5,这组数据的中位数为_________.3.若数据10,12,9,-1... -
算数平均数、中位数、众数和几何平均数
2019-10-23 10:11:02文章目录算数平均数、中位数、众数和几何平均数 算数平均数、中位数、众数和几何平均数 统计数据时经常用到的几种数的比较: 算数平均数 中位数 众数 几何平均数 英文名 Arithmetic mean Median Mode ... -
如何用SQL求众数和中位数
2022-03-21 11:39:17什么时候使用平均数、众数、中位数来分析数据那?在SQL中又应该怎么实现那? 中位数、众数、平均数 平均数、众数和中位数都叫统计量,并且都是用来刻画数据集中趋势的统计量,它们在统计 中,有着广泛的应用,并且... -
华为机试:查找众数及中位数
2022-05-13 12:27:47查找众数及中位数 题目描述 1.众数是指一组数据中出现次数量多的那个数,众数可以是多个 2.中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的... -
用python计算平均数,中位数和众数
2021-09-26 22:46:41# -*- coding: utf-8 -*- """ Created on Sun Sep 26 22:06:52 2021 @author: Machi """ import numpy as ny from scipy import stats x = [9,8,8,8,11,8,10,8,9,7,7,8,] ...#Calculate the average of the X list ... -
mySQL求中位数、众数
2021-02-02 00:48:05mysql 取中位数、众数 -- 求众数SELECT score, count(score) from scoresGROUP BY scoreHAVING count(score) >=(SELECT max(a.b) from(SELECT count(score) as b from scoresGROUP BY score) a )思路:对数据进行... -
python求均值中位数众数的方法-python语言如何求平均值中位数和众数 - PS下
2020-11-29 19:53:44看了n久的python,可当解决实际项目问题去搜寻...今天记录一下求均值、中位数、众数的方式。nums = [0,4,5,8,8]#求均值和中位数均可以使用numpy库的方法:import numpy as np#均值np.mean(nums)#中位数np.median(n... -
集中趋势中均值、中位数、众数以及偏态分布、偏度和峰度计算相关
2021-08-08 16:20:52均值、中位数、中位数的概念以及优缺点对比。偏态分布难点分析,以及偏度、峰度计算公式。文末附相关学习链接。