iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >numpy产生随机数的几种方法
  • 852
分享到

numpy产生随机数的几种方法

numpy产生随机数numpy生随机数 2023-02-10 12:02:31 852人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1.np.random.rand 生成一个0到1之间的均匀分布2.np.random.randn 返回一个符合标准正态分布的数组。3.np.random.randint返回一定范

在矩阵应用的过程中,经常需要使用随机数,那么怎么使用numpy 产生随机数呢 ,为此专门做一个总结

random模块用于生成随机数,下面是一些常用的函数用法:
numpy.random.seed(n) 其中n为任意指定

当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数

numpy.random.seed(0)

np.random.seed(0)
a = np.random.rand(4)  
a
array([0.5488135 , 0.71518937, 0.60276338, 0.54488318])

主要介绍了生成符合均匀分布,正态分布等数组和随机选取数以及打乱数组顺序的方法。

1.np.random.rand 生成一个0到1之间的均匀分布

import numpy as np
a = np.random.rand(2,3,4)
print(a,a.shape)

[[[0.18000344 0.03724064 0.15040061 0.93007827]
  [0.59423019 0.35439936 0.49193457 0.37633185]
  [0.83924196 0.4908405  0.49387427 0.98718216]]

 [[0.20072849 0.90163245 0.36710883 0.56668257]
  [0.61402791 0.46602958 0.56086072 0.83099671]
  [0.85196098 0.62774727 0.62826083 0.41739078]]] (2, 3, 4)

2.np.random.randn 返回一个符合标准正态分布的数组。

a = np.random.randn(2,3,4) 
print(a,a.shape)

[[[ 0.32062268  0.08867553 -0.83741647 -0.21917891]
  [-0.06516898 -1.17123767  2.2403833  -0.77741757]
  [ 0.33532261  0.27309929  1.07279005  0.79952468]]

 [[ 0.18503166  0.90777579 -1.52837098 -1.23783753]
  [ 0.9327577   1.61876194  0.52191996  0.53451075]
  [-1.05485337  1.01472352  0.19376936  0.00278223]]] (2, 3, 4)

3.np.random.randint返回一定范围的一维或者多维整数

numpy.random.randint(low, high=None, size=None, dtype=’l’)

返回随机整数,范围区间为[low,high),包含low,不包含high

size为数组维度,元组形式,如(2,3)#2行3列

high没有填写时,默认生成随机数的范围是[0,low)

dtype指定数据类型,默认int

a = np.random.randint(low=6,high=10,size=(2,3,4),dtype='int')
print(a,a.shape)

[[[8 8 7 8]
  [8 8 6 9]
  [9 6 7 7]]

 [[7 7 9 8]
  [9 6 6 7]
  [8 9 7 7]]] (2, 3, 4)

4.np.random.choice从给定的一维数组中随机选择数生成随机数

numpy.random.choice(a, size=None, replace=True, p=None)

a为一维数组类似数据或整数;size为数组维度;p为数组中的数据出现的概率

a为整数时,对应的一维数组为np.arange(a)

a = np.random.choice(a = [3,5,6],size=(2,3,4),replace=True,p=[0.1,0.5,0.4])
print(a,a.shape)

[[[5 6 3 5]
  [6 5 5 5]
  [6 5 6 6]]

 [[5 5 5 3]
  [6 5 6 6]
  [5 6 5 6]]] (2, 3, 4)

5.np.random.normal(loc=0.0, scale=1.0, size=None),生成符合指定分布的正态分布。

a = np.random.normal(loc=4,scale=6,size=(2,3,4))
print(a)

[[[13.19667529 12.81615262  4.92968455  6.26897512]
  [-1.32671449 -7.88477881  1.9125271   4.93809381]
  [11.38174408 11.21427909  1.6760391   2.1861835 ]]

 [[-2.29131779 -4.52010762 -6.23762114 15.70465237]
  [ 0.94208691  1.37155419 -3.51677216  8.66494213]
  [-5.68338709  2.72355832 -1.37279937  6.32141499]]]

6.np.random.random(size=None),生成符合0到1的均匀分布数组。

a = np.random.random((2,3,4))
print(a)

[[[0.19658236 0.36872517 0.82099323 0.09710128]
  [0.83794491 0.09609841 0.97645947 0.4686512 ]
  [0.97676109 0.60484552 0.73926358 0.03918779]]

 [[0.28280696 0.12019656 0.2961402  0.11872772]
  [0.31798318 0.41426299 0.0641475  0.69247212]
  [0.56660145 0.26538949 0.52324805 0.09394051]]]

7. np.random.ranf(size=None),生成符合0到1的均匀分布数组。

a = np.random.ranf((10))
a
array([0.82894003, 0.00469548, 0.67781654, 0.27000797, 0.73519402,
       0.96218855, 0.24875314, 0.57615733, 0.59204193, 0.57225191])

8.np.random.uniform(low=0.0, high=1.0, size=None),生成符合指定均匀分布的数组

g=np.random.uniform(-1,1,10)#指定均匀分布
print(g)

[ 0.07315842  0.79334259  0.98067789 -0.56620603  0.32615641 -0.47335525
 -0.958698    0.51675731 -0.3599657  -0.23307221]

9.np.random.shuffle(x),随机打乱数组顺序

a = np.arange(10)
np.random.shuffle(a)
print(a)

[6 3 4 9 0 8 1 5 2 7]

10. 产生其他分布的函数

  • binomial() ,二项分布
  • chisquare(),卡方分布
  • poisson(),泊松分布
  • uiform(),均匀分布
  • normal(),正态分布

到此这篇关于numpy 产生随机数的几种方法的文章就介绍到这了,更多相关numpy 产生随机数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: numpy产生随机数的几种方法

本文链接: https://www.lsjlt.com/news/195495.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • numpy产生随机数的几种方法
    目录1.np.random.rand 生成一个0到1之间的均匀分布2.np.random.randn 返回一个符合标准正态分布的数组。3.np.random.randint返回一定范...
    99+
    2023-02-10
    numpy 产生随机数 numpy 生随机数
  • C++产生随机数的几种方法小结
    目录使用cstdlib库1)使用srand()撒一个种子2)使用rand()产生随机数3)控制随机数范围4)示例代码使用random库:c++11 random library随机数...
    99+
    2023-03-09
    C++产生随机数 C++ 随机数
  • shell产生随机数七种方法的实现
    一、问题 Shell下有时需要使用随机数,在此总结产生随机数的方法。计算机产生的的只是“伪随机数”,不会产生绝对的随机数(是一种理想随机数)。伪随机数在大量重现时也并不一定保持唯一,但一个好的伪随机产生算法将可以产生一...
    99+
    2022-06-04
    shell 随机数
  • numpy生成随机数的方法
    numpy生成随机数的方法有:1、numpy.random.rand();2、numpy.random.randn();3、numpy.random.randint();4、numpy.random.random();5、numpy.ran...
    99+
    2023-11-21
    numpy
  • php产生随机数的两种方法实例代码 输出随机IP
    分享下php生成随机数的三种方法,生成1-10之间的不重复随机数,php生成不重复随机数的例子,需要的朋友参考下。 如何用php生成1-10之间的不重复随机数? 例1,使用shuff...
    99+
    2022-11-21
    php 随机数
  • C++产生随机数的方法有哪些
    这篇文章主要介绍“C++产生随机数的方法有哪些”,在日常操作中,相信很多人在C++产生随机数的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++产生随机数的方法有哪些”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • PHP 生成随机数的 5 种方式,你知道几种
    我知道五种PHP生成随机数的方式:1. 使用rand()函数:rand()函数可以生成一个指定范围内的随机整数。例如,生成1到10之...
    99+
    2023-09-21
    PHP
  • java生成随机数的三种方法
    随机数有三种生成方式:通过Math.random()方法通过System.currentTimeMillis()方法获取毫秒数通过Random类第一种:常用方法Math.random()方法,是获取0-1之间的double类型的小数,在通过...
    99+
    2014-08-11
    java入门 java 随机数
  • java中产生随机不重复数的方法
    java中产生随机不重复数的方法:根据min和max,生成n个不重复的随机数。(注:范围[min,max],n ...
    99+
    2021-01-15
    java
  • Pytorch常用的4种随机数生成方法
    Pytorch常用的4种随机数生成方法 一、torch.rand():构造均匀分布张量的方法二、torch.randn():构造标准正态分布张量的方法三、torch.randint():构造区...
    99+
    2023-09-21
    pytorch python 随机数
  • PHP中利用rand()函数产生一个随机数的方法
    这篇文章主要介绍了PHP中利用rand()函数产生一个随机数的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php的框架有哪些php的框架:1、Laravel,Larav...
    99+
    2023-06-14
  • Java 生成随机数的 5 种方式
    1. 使用Math类的random()方法生成0到1之间的随机数:```javadouble randomNum = Math.ra...
    99+
    2023-09-20
    Java
  • java的三种随机数生成方式
    随机数的产生在一些代码中很常用,也是我们必须要掌握的。而java中产生随机数的方法主要有三种:第一种:new Random()第二种:Math.random()第三种:currentTimeMillis()第一种需要借助java.util....
    99+
    2015-06-20
    java教程 java
  • Java生成范围内随机整数的三种方法
    目录前言1. java.util.Random2.数学随机3. Java 8 Random.ints参考文献总结前言 在本文中,我们将向您展示三种生成范围内随机整数的方法。 java...
    99+
    2022-11-13
  • Pytorch随机数生成常用的4种方法汇总
    目录一、torch.rand():构造均匀分布张量的方法二、torch.randn():构造标准正态分布张量的方法三、torch.randint():构造区间分布张量的方法四、tor...
    99+
    2023-05-20
    python随机数生成 python生成随机 pyhon随机生成数字
  • 实现MySQL产生随机数并连接字符串的方法
    这篇文章主要介绍了实现MySQL产生随机数并连接字符串的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。用到的方法:concat(&...
    99+
    2022-10-18
  • java随机数生成的方法
    本文小编为大家详细介绍“java随机数生成的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“java随机数生成的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。本教程操作环境:windows7系统、java...
    99+
    2023-06-30
  • Qt生成随机数的方法
    目录1.生成随机数2.生成不重复的随机数3.生成递增的随机数1.生成随机数         生成随机数主要用到了函数qsrand和qrand,这两个函数在#include <Q...
    99+
    2022-11-12
  • linux shell实现随机数几种方法分享(date,random,uuid)
    在日常生活中,随机数实际上经常遇到,想丢骰子,抓阄,还有抽签。呵呵,非常简单就可以实现。那么在做程序设计,真的要通过自己程序设计出随机数那还真的不简单了。现在很多都是操作系统内核会提供相应的api,这些原始...
    99+
    2022-06-04
    随机数 几种方法 shell
  • Python生成随机验证码的两种方法
    使用python生成随机验证码的方法有很多种,今天小编给大家分享两种方法,大家可以灵活运用这两种方法,设计出适合自己的验证码方法。 方法一: 利用range方法,对于range方法不清楚的同学,请参考文章《...
    99+
    2022-06-04
    两种 验证码 方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作