python numpy基础(二)random基本使用
来源:互联网 发布:手机怎样举报淘宝卖家 编辑:程序博客网 时间:2024/06/05 12:43
(一)设置随机种子,会使后续的随机数都会固定下,不会因为程序运行多次而改变
import numpy as npnp.random.seed(1)print np.random.rand()# 例如运行多次,依旧保持0.548813503927print np.random.rand()# 例如运行多次,依旧保持0.715189366372
(二)生成随机数
# 生成随机数pythonimport numpy as npprint np.random.rand()# 0.737898207626,默认生成一个[0,1)浮点数print np.random.rand(3)# [ 0.13565447 0.98265097 0.68823444],生成3个# 生成随机2*2矩阵print np.random.rand(2,2)# [[ 0.51666387 0.94009316]# [ 0.39298786 0.72569242]]# np.random.rand和np.random.random_sample其实差不多,就输入参数不同print np.random.random_sample((2,2))# [[ 0.61852378 0.70618663]# [ 0.64536942 0.15789266]]# numpy.random.randint(low, high=None, size=None, dtype='l')# 生成一个整数或N维整数数组,取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数# 生成一个[0,2)之间随机整数print np.random.randint(5)#2# 生成一个[2,5)之间随机整数print np.random.randint(2,5)# 3print np.random.randint(5,size=5)# [1 1 2 2 4]# 生成一个[2,5)之间随机2*2的矩阵print np.random.randint(2,5,size=(2,2))# [[3 2]# [4 4]]# np.random.randint和random.random_integers差不多,都是生成随机整数print np.random.random_integers(2,5,size=(2,2))# [[3 3]# [4 4]]
(三)常用的数学样本分布:正太分布,标准正太分布
# 常用的数学样本分布:正太分布,标准正太分布import numpy as npprint np.random.randn()# -0.330575330738print np.random.randn(5)# [ 1.83188629 -0.83997864 -1.6763442 -0.04505718 -0.65242212]print np.random.randn(2,3)# [[-0.93742626 -0.62867399 -0.60228364]# [ 0.29129602 0.16947085 -0.44884333]]# 生成标准正太分布随机样本print np.random.standard_normal((2,3))# [[ 0.2172888 -0.57062087 0.50106583]# [-0.62042828 -0.7372449 -0.73330439]]# 可以使用下述表达式查看点分布情况import numpy as npimport matplotlib.pyplot as pltplt.figure()n=1000#rand 均匀分布和 randn高斯分布x=np.arange(0,100,0.1)y=np.random.randn(1,n)y.sort()print y.shape# xx,yy = np.meshgrid(x,y)#c:散点的颜色,s:散点的大小,alpha:是透明程度plt.scatter(x,y,c='red',s=25,alpha=0.4,marker='o')plt.show()
(四)在有限集合中获取随机数
#在有限集合中获取随机数# numpy.random.choice(a, size=None, replace=True, p=None)# 从序列中获取元素,若a为整数,元素取值为np.range(a)中随机数;若a为数组,取值为a数组元素中随机元素# replace表示是否可以拿出相同的值,p表示取出集合中各个元素的概率,p中的元素长度必须和a相同,且加起来等于1#生成一个range(10)中的随机数import numpy as npprint np.random.choice(10)# 7# 生成一维数组,在[0-10)中取4个数print np.random.choice(10,4)# [8 3 2 6]# 生成多维数组print np.random.choice(10,(2,2))# [[7 8]# [2 8]]# 自定义随机拿取集合print np.random.choice(np.array(['a','b','c','f']),(2,2))# [['f' 'f']# ['c' 'a']]# 只会出现a和fprint np.random.choice(np.array(['a','b','c','f']),(2,2),p=[0.5,0,0,0.5])# [['a' 'f']# ['f' 'f']]
(五)numpy洗牌
# numpy洗牌#numpy.random.shuffle(x)import numpy as nparr1 = [1,2,3,4,5]np.random.shuffle(arr1)print arr1#[2, 1, 5, 4, 3]#对于多维数组,只沿着第一条轴打乱顺序# numpy.random.shuffle(x)和numpy.random.permutation(x)差不多,不同的是permutation不会影响原来的数组arr2 = [1,2,3,4,5]np.random.permutation(arr2)print arr2# [1, 2, 3, 4, 5]arr3 = np.arange(9).reshape(3,3)print arr3# [[0 1 2]# [3 4 5]# [6 7 8]]np.random.shuffle(arr3)print arr3# [[6 7 8]# [0 1 2]# [3 4 5]]
阅读全文
0 0
- python numpy基础(二)random基本使用
- Python:numpy中random使用
- Python基础-numpy使用
- python random和numpy random
- python numpy random
- python之基础numpy库使用(二)
- 【Python】NumPy库基本使用
- python numpy基础(一)基本用法
- python 正态分布随机数 numpy.random.randn 使用小技
- python 正态分布随机数 numpy.random.randn 使用小技
- python numpy.random详细解析
- python之numpy的基本使用
- python之numpy的基本使用
- python之numpy的基本使用
- numpy.random.rand使用详解
- numpy.random.seed()的使用
- NumPy random模块的使用
- numpy.random 的函数基本用法
- Tech World 2016丨联想这剂强心针打准了么?
- Google们用实际行动告诉我们 再不看论文你就out啦! | AI科技评论周刊
- WWDC2016会有哪些新东西?这是我们的预测
- HTML语义化
- 400 BadRequest json报错
- python numpy基础(二)random基本使用
- jeecg中使用uploadify插件在firefox火狐浏览器下报错302的解决办法
- 当头一棒!暴风这支“妖股”会被打回原形吗?
- 十张图读懂特斯拉Model 3的机遇和困境
- 优酷起诉乐视盗链 网络视频大战何时休?
- B树、B+树的java实现
- http请求的方法
- UVA
- 过去一周,我们都聊了硅谷哪些问题? | 硅谷锋向周刊