直方图和正态分布图
- 格式:docx
- 大小:14.80 KB
- 文档页数:1
操作说明
1.统计数据个数;任意选个单元格,如B1,输入
count(A1:A10);
2.求最大值;如B2中输入:max(A1:A10)
3.求最小值;如B3中输入:min(A1:A10)
4.求平均值;如B4中输入:average(A1:A10)
5.求标准偏差:如B5中输入:stdev(A1:A10)
6.获得数据区间;用最大值减最小值;如B6中输入:B3-B2
7.获得直方图个数;个数的开放加1
,如B7中输入:sqrt
(B1)+1
8.获得直方图组距;用区间除以(直方图个数-1),如B8中输入B7/(B7-1)
下面就开始作图了:
1.任选个空单元格:如C列第一个单元格C1,令C1等于最小值,即输入=B3
2.在C2中输入=C1+$B$8 (最小值逐渐累加,绝对引用)
3.选中C2,然后向下拉,直到数据大于最大值就可以了;比如你拉到C5了。
4.统计频数,如在D1中输入frequency(A1:A10,C1:C5)确定,然后将选中D1到D5,将光标定位到公式栏,同时按住Ctrl+Shift+Enter
5.统计正态分布的数据,E1中输入normdist(C1,
$B$4,$B$5,0)回车;然后选中E1,下拉到E5。
使⽤Python绘制直⽅图和正态分布曲线本⽂主要介绍两个内容:如何使⽤记事本⽣成包含某⼀数据集的CSV⽂件;如何使⽤Python绘制给定数据集的直⽅图和正态分布曲线。
1. 使⽤记事本创建CSV⽂件①新建⼀个⽂本⽂件,打开后输⼊数据,格式如下:name,age,addressMike,20,shanghai这⾥需要注意的是:关键字之间使⽤英⽂逗号隔开;第⼀⾏为引⽤字段,第⼆⾏为对应值。
②将⽂本⽂件另存为CSV⽂件,如下:依次选择【⽂件】→【另存为】→【⽂件名:xxx.csv】→【保存类型:所有⽂件】→【编码:utf-8】→【保存】,图⽰如下:③ CSV⽂件中的数据为100个表⽰长度的数值,如下:2539 2536 2534 2542 2545 2538 2539 2542 2547 25352541 2543 2544 2548 2545 2543 2546 2540 2551 25452540 2539 2541 2536 2538 2531 2556 2543 2540 25382537 2544 2533 2546 2540 2549 2534 2542 2550 25372535 2532 2545 2540 2527 2543 2554 2539 2545 25432540 2543 2544 2541 2553 2537 2538 2524 2544 25402536 2542 2539 2546 2538 2535 2531 2534 2540 25362541 2532 2538 2542 2540 2533 2537 2541 2549 25352547 2534 2530 2539 2536 2546 2529 2540 2537 25332540 2535 2541 2537 2547 2539 2542 2547 2538 25392. 绘制数据集的直⽅图和正态分布曲线1#2# 本⽂以某⼀批产品的长度为数据集3# 在此数据集的基础上绘制直⽅图和正态分布曲线4#56import pandas as pd # pandas是⼀个强⼤的分析结构化数据的⼯具集7import numpy as np # numpy是Python中科学计算的核⼼库8import matplotlib.pyplot as plt # matplotlib数据可视化神器910# 正态分布的概率密度函数11# x 数据集中的某⼀具体测量值12# mu 数据集的平均值,反映测量值分布的集中趋势13# sigma 数据集的标准差,反映测量值分布的分散程度14def normfun(x, mu, sigma):15 pdf = np.exp(-((x - mu) ** 2) / (2 * sigma ** 2)) / (sigma * np.sqrt(2 * np.pi)) 16return pdf1718if__name__ == '__main__':1920 data = pd.read_csv('length.csv') # 载⼊数据⽂件21 length = data['length'] # 获得长度数据集22 mean = length.mean() # 获得数据集的平均值23 std = length.std() # 获得数据集的标准差2425# 设定X轴:前两个数字是X轴的起⽌范围,第三个数字表⽰步长26# 步长设定得越⼩,画出来的正态分布曲线越平滑27 x = np.arange(2524, 2556, 0.1)28# 设定Y轴,载⼊刚才定义的正态分布函数29 y = normfun(x, mean, std)30# 绘制数据集的正态分布曲线31 plt.plot(x, y)3233# 绘制数据集的直⽅图34 plt.hist(length, bins=12, rwidth=0.9, density=True)35 plt.title('Length distribution')36 plt.xlabel('Length')37 plt.ylabel('Probability')3839# 输出正态分布曲线和直⽅图40 plt.show()程序执⾏结果如下:。
直方图和正态分布图
直方图(Historgram)是将某期间所收集的计量值数据经分组整理成次数统计表,并使用柱形予以图形化,以掌握这些数据的分布状况。
直方图的应用
制造---加工尺寸的分布
经济---收入支出的分布
教育---考试成绩的分布……
●直方图是反映分组数据频数的柱形图
●正态分布图是一条单峰、对称成钟形的曲线。
Frequency函数
●以一个垂直数组返回某个区域中数据的频率分布
●由于函数frequency返回返回一个数组,所以必须以数组公式的形式输入
Frequency(data_array,bins_array):
data_array为一数组或对一组数值的引用,用来计算频率。
Bins_array 为间隔的数组或对间隔的引用,该间隔用于对data_array中的数值进行分组
Normdist函数
返回指定平均值和标准偏差的正态分布函数
Normdist (x,mean,standard_dev,cumulative)
其中x为需要计算其分布的数值
Mean 分布的算术平均数
Standard_dev 分布的标准偏差
Cumulative 如果为false,则返回概率密度函数
正态分布图的差异:中心偏移,分布不同
分析工具库-安装加载宏:制作直方图
VBA:全称Visual Basic for Application, 它是Visual Basic 的应用程序版本,是面向对象的编程语言。
VBA也可应用于AutoCAD
VBA的应用
●自动执行重复的操作
●进行“智能化”处理
●Office二次开发的平台。