Python.Numpy学习零碎笔记之随机数生成
来源:互联网 发布:苹果mac如何装虚拟机 编辑:程序博客网 时间:2024/06/04 19:56
在python数据分析的学习和应用过程中,经常需要用到numpy的随机函数,由于随机函数random的功能比较多,经常会混淆或记不住,下面我们一起来汇总学习下
1 numpy.random.rand( )
numpy.random.rand(d0,d1,…,dn)
- rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1
- dn表格每个维度
- 返回值为指定维度的array
import numpy as npa = np.random.rand(3,3)print(a)b = np.random.rand(4,3,3)print(b)
[[ 0.13833841 0.94703904 0.18947573] [ 0.54098698 0.18486109 0.47432247] [ 0.18181211 0.10269268 0.48891685]]
[[[ 0.2152551 0.72241842 0.49597082] [ 0.6020242 0.11430687 0.92149071] [ 0.6730968 0.21424972 0.86769038]] [[ 0.21263884 0.68281043 0.93274713] [ 0.1883081 0.7677195 0.36024236] [ 0.54497332 0.2375934 0.62899007]] [[ 0.18842451 0.92429477 0.39796031] [ 0.01540998 0.85513435 0.55736133] [ 0.40429504 0.85572897 0.58061831]] [[ 0.25351898 0.68418227 0.45860821] [ 0.55450712 0.11808712 0.19754229] [ 0.67555046 0.1237125 0.64581371]]]
2 numpy.random.randn( )
numpy.random.randn(d0,d1,…,dn)
- randn函数返回一个或一组样本,具有标准正态分布。
- dn表格每个维度
- 返回值为指定维度的array
np.random.randn() # 当没有参数时,返回单个数据
-0.25992502584368105
np.random.randn(2,3)
[[ 0.10243619 1.07891022 -1.05998665] [ 0.67506648 1.11934079 -0.8100286 ]]
np.random.randn(2,2,3)
[[[ 0.41541833 0.99428651 -0.66999151] [-0.19904438 -0.60104075 -1.51317465]] [[ 0.65306951 -1.91241846 0.75446768] [-1.24865309 -0.31850884 -0.71423429]]]
3 numpy.random.randint( )
numpy.random.randint(low, high=None, size=None, dtype=’l’)
- 返回随机整数,范围区间为[low,high),包含low,不包含high
- 参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int
- high没有填写时,默认生成随机数的范围是[0,low)
np.random.randint(2,size=6)
[0 0 1 1 1 0] # 返回[0,2)之间的整数
np.random.randint(2,6)
4 # 返回一个[2,6)之间的随机整数
np.random.randint(2)
1 # 不输入size参数的时候默认为1,返回一个[0,2)之间的随机整数
np.random.randint(-6,6,size=(3,3))
[[-1 2 -6] [-5 4 -2] [-6 -2 2]]
4 生成[0,1)之间的浮点数
- numpy.random.random_sample(size=None)
- numpy.random.random(size=None)
- numpy.random.ranf(size=None)
- numpy.random.sample(size=None)
print('-----------random_sample--------------')print(np.random.random_sample(size=(2,2)))print('-----------random--------------')print(np.random.random(size=(2,2)))print('-----------ranf--------------')print(np.random.ranf(size=(2,2)))print('-----------sample--------------')print(np.random.sample(size=(2,2)))
-----------random_sample--------------[[ 0.39709353 0.37642581] [ 0.46533729 0.9582476 ]]-----------random--------------[[ 0.17193343 0.48426309] [ 0.16108179 0.02737971]]-----------ranf--------------[[ 0.02537128 0.3272678 ] [ 0.05162058 0.49541444]]-----------sample--------------[[ 0.07418193 0.75022483] [ 0.8168686 0.32112412]]
5 numpy.random.choice( )
numpy.random.choice(a, size=None, replace=True, p=None)
- 从给定的一维数组中生成随机数
- 参数: a为一维数组类似数据或整数;size为数组维度;p为数组中的数据出现的概率
- a为整数时,对应的一维数组为np.arange(a)
np.random.choice(5,3)
[4, 1, 4]
p.random.choice(5, 3, replace=False)# 当replace为False时,生成的随机数不能有重复的数值
[0, 3, 1]
np.random.choice(5,size=(3,2))
[[1, 0], [4, 2], [3, 3]]
demo_list = ['lenovo', 'sansumg','moto','xiaomi', 'iphone']np.random.choice(demo_list,size=(3,3))
[['moto', 'iphone', 'xiaomi'], ['lenovo', 'xiaomi', 'xiaomi'], ['xiaomi', 'lenovo', 'iphone']]
- 参数p的长度与参数a的长度需要一致;
- 参数p为概率,p里的数据之和应为1
demo_list = ['lenovo', 'sansumg','moto','xiaomi', 'iphone']np.random.choice(demo_list,size=(3,3), p=[0.1,0.6,0.1,0.1,0.1])
[['sansumg', 'sansumg', 'sansumg'], ['sansumg', 'sansumg', 'sansumg'], ['sansumg', 'xiaomi', 'iphone']]
6 numpy.random.seed( )
- np.random.seed()的作用:使得随机数据可预测。
- 当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数
阅读全文
0 0
- Python.Numpy学习零碎笔记之随机数生成
- Numpy学习笔记之随机数生成
- Python.Numpy学习零碎笔记之数组与矩阵
- Python.Numpy学习零碎笔记之便捷函数
- Python.Numpy学习零碎笔记之矩阵创建
- Python学习笔记(四)—生成随机数
- python numpy中随机数生成包random
- python学习笔记之numpy入门
- 机器学习笔记--Python之Numpy
- python学习笔记(零碎)
- 【python】numpy学习笔记
- Python Numpy学习笔记
- Python Numpy 学习笔记
- python笔记之NUMPY
- Python之numpy学习
- python之numpy学习
- python之numpy学习
- Python学习之Numpy
- java序列化和数据库设计
- Excel 时间差 小时小数 日期对应星期
- es6环境搭建(2)创建js编译任务。
- 【VINS算法分析之一】VINS-Mono(草稿)
- 今天又跟超级社区hsr003学了一招,如何备份虚拟币钱包及如何导入钱包
- Python.Numpy学习零碎笔记之随机数生成
- Linux环境下Swap配置方法
- 动态规划---挖地雷
- CSS限定图片宽高在范围内等比缩放(img缺省宽高属性)
- 【转载】数据结构和算法学习之路
- Javascript模块化编程(一):模块的写法
- Python金融大数据分析
- 关于LPC1768的存储地址、运行地址、向量地址
- 晶相传感器 JX-F22