Numpy随机数生成

numpy.random比Python的random(只能一次生成一个样本值)性能好很多,更便捷,使用如下:

import numpy as np

np.random.normal(size=(4, 4)) # 生成标准正态分布的随机样本shape为4*4数组
np.random.randint(0, 1) # 从给定的上下限选择整数,这里0到1两个中选
(np.abs([2, -1, 3]) > 0).argmax() # 返回第一个最大值的索引,argmax(1)指定轴1返回数组
# 随机数生成
a = 1; b = 2; n = 3; p = .5; mu = 1; sigma = 0.8
np.random.uniform(a, b, size=n)  # 产生[a, b)之间的均匀分布的n个样本值,默认为uniform(0, 1, size=1)
np.random.rand(3, 4)  # 生成3行4列[0, 1)的均匀分布样本值数组,可以更多维度
np.random.random(5)  # 等效于uniform(0, 1, size=5)
np.seed(n)  # 设置随机数种子,不设置或者seed()都是值默认(按照时间变动),设置具体值后再次运行同段代码结果一样。
# 如果`x`是一个整数,随机排列np.arange(x)
# 如果`x`是一维数组,则复制并随机排列这些元素
# 如果`x`是多维数据,它只是沿着它的第一维度索引随机排列
np.random.permutation(9)  # 返回新的随机序列,不修改原序列

ran = np.arange(1, 10, step=2)  # 一个数组
np.random.shuffle(ran)  # 将序列随机排列,修改原序列,参数可以为任何序列
np.random.randint(1, 20, size=(3, 2))  # 从[1, 20)之间随机选取3*2个整数,然后组成2维数组
np.random.randn(3, 4)  # 生成3行4列标准正态分布样本值数组,可以更多维度
np.binomial(n, p)  # 二项分布,每次成功概率为p,n次试验的成功次数
np.random.normal(mu, sigma, (100, 2))  # 对应均值和方差的正态分布(高斯分布)的随机值,生成100*2(2维数组)个
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值