Numpy 生成随机数和乱序
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 生成随机数和乱序相关推荐
- NumPy——生成随机数的学习笔记~
1 致谢 感谢网友OraYang和Asia-Lee的帮助~ 原文链接如下: https://blog.csdn.net/u010665216/article/details/78569370?loca ...
- Python生成随机数和numpy生成随机数
生成随机数 使用random函数 random.random() 产生一个包含0不包含1之间的小数 random.randint(1,5) 产生一个包含开始和结束的整数 random.uniform( ...
- python产生5个随机数_Python和numpy生成随机数
http://blog.csdn.net/pipisorry/article/details/39086463 随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成 ...
- numpy生成随机数
文章目录 生成随机整数--离散均匀分布 生成随机浮点数--连续型均匀分布 生成[0,1)之间的均匀分布 生成标准正太分布 高斯/正太分布 这里只列出重要的几个函数 生成随机整数–离散均匀分布 使用nu ...
- Numpy生成随机数及服从常见分布的随机数
from numpy import random import seaborn as sns 普通随机数 random.randint 返回给定范围内的随机整数 # 只给一个参数时,范围是[0,10) ...
- <笔记2>numpy的生成随机数用法小记
numpy的生成随机数用法小记 numpy生成随机数 <以下图片来自黑马程序猿录播课程笔记> import numpy as np import random #random 生产随机数 ...
- python使用random模块生成随机数、实现随机乱序和随机抽样?
如何使用random模块生成随机数.实现随机乱序和随机抽样? random.random()函数可以生成[0.0, 1.0)之间的随机浮点数. random.uniform(a, b)函数可以生成[a ...
- numpy和pandas的数据乱序
import numpy as np import pandas as pd import sklearn import urllib import os import tarfile 数据乱序 我们 ...
- numpy之生成随机数
python里随机数生成主要有两种方式,一种是random库,另一种是numpy.random.我目前后一种用的比较多,因此就先介绍后一种中一些(我)可能常用的,第一种等有时间了再整理. 1. 用nu ...
最新文章
- PHP如何把三张图片均匀分布,怎么把一张图片分成9张
- 人工智能与电气工程及其自动技术论述
- python3super用法_Python3中的super()函数详解
- vSphere 计算vMotion的迁移原理
- 垃圾收集算法,垃圾收集器_确定活动的热点垃圾收集器
- 【渝粤题库】陕西师范大学600002 物理化学(下) 作业(专升本)
- 辨析 const指针 和 指向常量的指针
- C++ 访问成员 “->“还是“.“
- typeorm 更新_typeORM 多对多关系不同情况的处理
- unity2020 package 下载位置
- linux镜像文件下载
- 由磁场数据和加速度数据计算初始姿态角
- windows xp apache php mysql_WindowsXP下安装和配置Apache2.2.22服务器+PHP5+Mysql5 wu金
- python3爬虫有道翻译_【Python3爬虫】有道翻译
- android 左右声道,Android立体声pcm的数据结构,左右声道拆分、左右声道反转
- 读取XML-致冷冽同学
- 为什么黑客不敢攻击微信钱包?
- 加入中视频计划赚钱吗?你还别不信收益确定高
- HTML筑基知识点四
- Pic16f1828 1829串口收发