np.random常用功能记录

先放官方手册链接…
https://numpy.org/doc/stable/reference/random/index.html?highlight=random#module-numpy.random

环境

import numpy as np
import numpy.random as rd #问就是懒...
import matplotlib.pyplot as plt
import pandas as pd
from scipy import stats

常用功能小结

rd.seed(a) #控制每次随机数结果一致,便于复现
rd.rand(a,b) #最简单常用的生成随机数的功能。生成 a 列 b 行在[0,1)内均匀分布的随机数
rd.uniform(a,b,size) #.rand的自定上下限版本,生成size个在[a,b)范围内均匀分布的随机数
rd.randint(a,b,size) #.rand的自定上下限整数版本,生成size个在[a,b)范围内均匀分布的随机*整*数
rd.randn(a,b) #.rand的标准正态分布版本,好用!a,b只限制生成随机数的shape
rd.normal(μ,σ,size) #相比于.randn可以自定义均值 μ 和 σ
rd.poisson(a,size) #有放回抽样。a是单位时间/空间下期望事件发生的概率
rd.hypergeometric(ngood, nbad, nsample, size) #无放回抽样(怒 为什么概率论考试不能带电脑啊)。
#小球问题为例,箱子中有3个红球(ngood=3)和7个蓝球(nbad=7),每次取2个球(nsample=2)  
#问取到至少一个红球的期望:  np.sum(rd.hypergeometric(3,7,2,10000)>=1)/10000 = 0.5335

以及一个自己不太常用但很有意思的 rd.choice,手册:
https://numpy.org/doc/stable/reference/random/generated/numpy.random.choice.html?highlight=choice#numpy.random.choice

test = rd.choice(['a','b','c','d'],size = 100000, p=[0.1,0.1,0.5,0.3])
df_test = pd.DataFrame(data={'result':test})
df_test.groupby('result')['result'].count()/100000

# result
# a    0.09998
# b    0.09983
# c    0.49971
# d    0.30048
# Name: result, dtype: float64
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值