目录
首先使用numpy库的random.normal()函数生成一个正太分布的序列
1.第一种是引用collections库的Counter函数
首先使用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