学习笔记_np.random.randint()

计算1000000次投掷三次硬币的正反面概率,以0为正面

import numpy as np

N = 1000000
M = 3
heads = np.zeros(M+1)

for i in range(N):
    flips = np.random.randint(0,2,M)  # random.randint() 用于生成指定范围内的整数
    h, _ = np.bincount(flips, minlength=2) # np.bincount() 用于统计数组中各元素出现的次数,_是不使用的变量,比如这里的_是指bincount()返回的第二个值,即第二个元素出现的次数
    heads[h] += 1 # 统计各硬币出现的次数

prob = heads / N
print("probabilities: %s" % np.array2string(prob))  # np.array2string() 是 numpy 自带的函数,用于将数组转换为字符串

probabilities: [0.250664 0.749964 0.749371 0.250001]

学习重点

np.random.randint()

该函数用于生成随机整数,其基本语法如下:

numpy.random.randint(low, high=None, size=None, dtype='l')
参数说明
low生成的整数最低值(包含),即所有生成的整数都会大于等于这个值。
high生成的整数最高值(不包含),即所有生成的整数都会小于这个值。
size输出的形状,可以为整数(生成元素的数量)或者元组(各维度的大小)。如果不提供,则返回一个单一随机整数。
dtype数据类型,可选参数,默认为’l’,表示生成的数据类型为整数。

在这里插入图片描述
np.bincount()
函数 用于计算 非负整数数组中每个整数值的频次

numpy.bincount(arr, weights=None, minlength=0)
参数说明
arr输入的非负整数数组
weights(可选)与arr相同长度的数组,用于指定每个整数值的权重。默认情况下,每个整数值的权重为1
minlength(可选)输出结果的最小长度。如果指定了minlength,则输出数组的长度将至少为minlength,并且在必要时使用0填充

在这里插入图片描述
其中的t与a 和_的作用一样,辅助理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值