使用python进行正太分布的统计并绘制出直方图

代码中random.normal()中的三个参数,ex是正太分布的平均值,de是正太分布的均方差,n是生成数据的数目,代码中是生成100000个以平均值1000,均方差为20的正太分布的数据。其中,np.round(y)是用来设置四舍五入后小数点位置的,默认小数点为0位,np.round(y,2)则是保留两位小数。这样就得到了,正太分布对应的点了,横轴标是值,纵坐标是这些值出现的次数。Counter(y)是返回y中的值,以及对应值出现的次数。dict()是用来数据转换为字典类型数据的方法。
摘要由CSDN通过智能技术生成

目录

首先使用numpy库的random.normal()函数生成一个正太分布的序列

两种方法

1.第一种是引用collections库的Counter函数

2.使用np.unique方法


首先使用numpy库的random.normal()函数生成一个正太分布的序列

import numpy as np
n = 100000
ex = 1000
de = 20
y = np.random.normal(ex, de, n)
y = np.round(y).astype(int)  # 将y的每个元素四舍五入为整数
print(y)

代码中random.normal()中的三个参数,ex是正太分布的平均值,de是正太分布的均方差,n是生成数据的数目,代码中是生成100000个以平均值1000,均方差为20的正太分布的数据

其中,np.round(y)是用来设置四舍五入后小数点位置的,默认小数点为0位,np.round(y,2)则是保留两位小数

.astype(int)是将array数组数据转换成指定int类型的数据

输出:

[1004 1008  969 ...  981  996 1012]

两种方法

1.第一种是引用collections库的Counter函数

from collections import Counter

y = Counter(y)
print('y=', y)  

y = dict(Counter(y))
print('y=', y)  

Counter(y)是返回y中的值,以及对应值出现的次数

dict()是用来数据转换为字典类型数据的方法

输出:

y= Counter({998: 2045, 1001: 2041, 1000: 2012, 1004: 2007, 999: 1983, 1003: 1973, 1006: 1967, 995: 1962, 1002: 1953, 1007: 1933, 996: 1927, 1005: 1912, 1008: 1897, 997: 1895, 991: 1843, 993: 1818, 992: 1816, 1009: 1782, 994: 1779, 1010: 1753, 990: 1746, 1011: 1738, 989: 1713, 1012: 1683, 987: 1639, 1014: 1612, 1013: 1604, 988: 1595, 986: 1561, 985: 1508, 1015: 1488, 1016: 1457, 984: 1423, 983: 1421, 1018: 1373, 1017: 1366, 982: 1308, 981: 1272, 1020: 1233, 980: 1201, 1019: 1195, 1021: 1187, 979: 1113, 978: 1075, 1022: 1044, 977: 1021, 1023: 1008, 976: 987, 1024: 974, 1025: 918, 975: 863, 1026: 849, 974: 830, 1028: 807, 972: 780, 973: 779, 1027: 773, 1029: 727, 971: 712, 1030: 661, 969: 660, 970: 648, 1031: 578, 968: 577, 967: 522, 1032: 521, 1034: 490, 1033: 480, 966: 467, 1035: 452, 965: 448, 1036: 423, 963: 386, 1037: 368, 964: 367, 962: 332, 1038: 330, 961: 299, 1039: 287, 1041: 277, 1040: 275, 960: 259, 959: 226, 1042: 220, 958: 219, 957: 207, 1043: 202, 956: 180, 1044: 177, 1045: 172, 955: 158, 954: 137, 1047: 134, 1046: 122, 953: 120, 952: 11
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值