Numpy 生成随机数和乱序


Numpy官网:http://www.numpy.org/


一、生成随机数

1. numpy.random.rand(d0, d1, …, dn)

生成在 [0, 1) 均匀分布的随机数组,shape 为(d0, d1, …, dn)。

# 生成形状为(3,2)的随机数组
>>> np.random.rand(3,2)
array([[ 0.14022471,  0.96360618],  [ 0.37601032,  0.25528411],  [ 0.49313049,  0.94909878]])

2. numpy.random.randn(d0, d1, …, dn)

生成标准正态分布 N(0,1) 的随机数组,shape 为(d0, d1, …, dn)。

# 生成一个标准正态分布数
>>> np.random.randn()
2.1923875335537315 # 生成形状为(2, 4)的 N(3, 6.25) 正态分布的随机数组
>>> 2.5 * np.random.randn(2, 4) + 3
array([[-4.49401501,  4.00950034, -1.81814867,  7.29718677],  [ 0.39924804,  4.68456316,  4.99394529,  4.84057254]])

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

生成在半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间为[0,low) 。

# 生成形状为(10, )的[0,2)上离散均匀分布的整数值
>>> np.random.randint(2, size=10)
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])# 生成形状为(2, 4)的[0,4)上离散均匀分布的整数值
>>> np.random.randint(5, size=(2, 4))
array([[4, 0, 2, 1],[3, 2, 2, 0]])

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

若a为数组(元素可为非数值类型),则从a中选取元素;若a为单个int类型数,则选取np.arange(a)中的数。 若replace为True,则选取的元素会出现重复;反之不会出现重复 。p为数组,里面存放选到每个数的可能性,即概率。

# 生成形状为(3, )在np.arange(5)中随机取值的数组
>>> np.random.choice(5, 3)
array([0, 3, 4])# 生成形状为(3, )在np.arange(5)中按p中的概率取值的数组
>>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
array([3, 3, 0])# 生成形状为(3, )在np.arange(5)中按p中的概率取值的不重复数组
>>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
array([2, 3, 0])

5. numpy.random.seed(seed=None) / numpy.random.RandomState(seed = None)

设置随机种子(整数),使每次生成的随机数一样。

numpy.random.seed(222)
numpy.random.RandomState(333)

二、乱序

1. numpy.random.shuffle(x)

沿多维数组的第一维打乱数组/列表,只改变顺序内容保持不变。

# 打乱一维数组
>>> arr = np.arange(10)
>>> np.random.shuffle(arr)
>>> arr
[1 7 5 2 9 4 3 6 0 8]# 打乱二维数组
>>> arr = np.arange(9).reshape((3, 3))
>>> np.random.shuffle(arr)
>>> arr
array([[3, 4, 5],[6, 7, 8],[0, 1, 2]])

2. numpy.random.permutation(x )

如果x是整数,则随机打乱np.arange(x)。如果x是一个数组,则复制并随机打乱元素。如果x是一个多维数组,则沿着它的第一个索引进行打乱。

# 打乱一维数组
>>> np.random.permutation(10)
array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6])# 打乱一维数组
np.random.permutation([1, 4, 9, 12, 15])
array([15,  1,  9,  4, 12])# 打乱二维数组
>>> arr = np.arange(9).reshape((3, 3))
>>> np.random.permutation(arr)
array([[6, 7, 8],[0, 1, 2],[3, 4, 5]])

Numpy 生成随机数和乱序相关推荐

  1. NumPy——生成随机数的学习笔记~

    1 致谢 感谢网友OraYang和Asia-Lee的帮助~ 原文链接如下: https://blog.csdn.net/u010665216/article/details/78569370?loca ...

  2. Python生成随机数和numpy生成随机数

    生成随机数 使用random函数 random.random() 产生一个包含0不包含1之间的小数 random.randint(1,5) 产生一个包含开始和结束的整数 random.uniform( ...

  3. python产生5个随机数_Python和numpy生成随机数

    http://blog.csdn.net/pipisorry/article/details/39086463 随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成 ...

  4. numpy生成随机数

    文章目录 生成随机整数--离散均匀分布 生成随机浮点数--连续型均匀分布 生成[0,1)之间的均匀分布 生成标准正太分布 高斯/正太分布 这里只列出重要的几个函数 生成随机整数–离散均匀分布 使用nu ...

  5. Numpy生成随机数及服从常见分布的随机数

    from numpy import random import seaborn as sns 普通随机数 random.randint 返回给定范围内的随机整数 # 只给一个参数时,范围是[0,10) ...

  6. <笔记2>numpy的生成随机数用法小记

    numpy的生成随机数用法小记 numpy生成随机数 <以下图片来自黑马程序猿录播课程笔记> import numpy as np import random #random 生产随机数 ...

  7. python使用random模块生成随机数、实现随机乱序和随机抽样?

    如何使用random模块生成随机数.实现随机乱序和随机抽样? random.random()函数可以生成[0.0, 1.0)之间的随机浮点数. random.uniform(a, b)函数可以生成[a ...

  8. numpy和pandas的数据乱序

    import numpy as np import pandas as pd import sklearn import urllib import os import tarfile 数据乱序 我们 ...

  9. numpy之生成随机数

    python里随机数生成主要有两种方式,一种是random库,另一种是numpy.random.我目前后一种用的比较多,因此就先介绍后一种中一些(我)可能常用的,第一种等有时间了再整理. 1. 用nu ...

最新文章

  1. PHP如何把三张图片均匀分布,怎么把一张图片分成9张
  2. 人工智能与电气工程及其自动技术论述
  3. python3super用法_Python3中的super()函数详解
  4. vSphere 计算vMotion的迁移原理
  5. 垃圾收集算法,垃圾收集器_确定活动的热点垃圾收集器
  6. 【渝粤题库】陕西师范大学600002 物理化学(下) 作业(专升本)
  7. 辨析 const指针 和 指向常量的指针
  8. C++ 访问成员 “->“还是“.“
  9. typeorm 更新_typeORM 多对多关系不同情况的处理
  10. unity2020 package 下载位置
  11. linux镜像文件下载
  12. 由磁场数据和加速度数据计算初始姿态角
  13. windows xp apache php mysql_WindowsXP下安装和配置Apache2.2.22服务器+PHP5+Mysql5 wu金
  14. python3爬虫有道翻译_【Python3爬虫】有道翻译
  15. android 左右声道,Android立体声pcm的数据结构,左右声道拆分、左右声道反转
  16. 读取XML-致冷冽同学
  17. 为什么黑客不敢攻击微信钱包?
  18. 加入中视频计划赚钱吗?你还别不信收益确定高
  19. HTML筑基知识点四
  20. Pic16f1828 1829串口收发

热门文章

  1. centos系统下安装python3以及pip3
  2. 第12天,HTML基础
  3. 前端性能优化:使用Data URI代替图片SRC
  4. 不信任的 .exe 怎么办,用 Windows 沙盒啊!
  5. Python之路【第七篇】:初识Socket
  6. perl学习之:localtime
  7. 怎么在VS监视DataSet类型的数据
  8. SAP的程序用客户端连接正常,用C#连接死活连不上问题的解决
  9. 智能搜索引擎---命题的确定
  10. python数据结构与算法40题_Python数据结构与算法刷题(2)——挖掘机技术哪家强...