pythonrandomseed原理_numpy.random.seed()的使⽤实例
解析
numpy.random.seed()的使⽤实例解析
这个函数的使⽤⽅法,已经有前辈讲解过了,只是⾃⼰在测试的时候有⼀些思考,所以便写了这篇博客。下⾯是前辈⽂章的原话:
seed( ) ⽤于指定随机数⽣成时所⽤算法开始的整数值,如果使⽤相同的seed( )值,则每次⽣成的随即数都相同,如果不设置这个值,则系统根据时间来⾃⼰选择这个值,此时每次⽣成的随机数因时间差异⽽不同。
编写如下第⼀份代码:
from numpy import *
num=0
while(num<5):
random.seed(5)
random在python中的意思print(random.random())
num+=1
运⾏结果为:
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948
可以看到,每次运⾏的结果都是⼀样的
修改代码,如下为第⼆份代码:
from numpy import *
num=0
random.seed(5)
while(num<5):
print(random.random())
num+=1
运⾏结果为:
0.22199317108973948
0.8707323061773764
0.20671915533942642
0.9186109079379216
0.48841118879482914
可以看到,和上⼀份代码的运⾏结果不同。这⾥每次的输出结果都是不⼀样的。这也就提醒了我们在以后编写代码的时候要明⽩⼀点:random.seed(something)只能是⼀次有效。其实仔细想想也很⾃然,如果不是⼀次有效,⽐如说是⼀直有效,那岂不是会影响到后续的代码中随机数的选取?
这次测试的代码⽐较可以说是很简单的,但是却暴露了我的⼀个思维上的漏洞:在这次测试中我虽然明⽩了:
seed( ) ⽤于指定随机数⽣成时所⽤算法开始的整数值,如果使⽤相同的seed( )值,则每次⽣成的随即数都相同,如果不设置这个值,则系统根据时间来⾃⼰选择这个值,此时每次⽣成的随机数因时间差异⽽不同。
这段话的意思,但是我却先⼊为主地认为第⼆份代码的结果应和第⼀份代码中的⼀致。⽽通过反⾯思考,假设这个函数使⽤⼀次后便是⼀直有效的,那么每次⽣成的随即数都会相同,但是这样岂不是会影响到后续的代码中随机数的选取?
所以,以后学新的东西的时候,都要问⾃⼰傻问题,不断地去测试⾃⼰的想法以达到更深的理解。
故对于该函数的使⽤,可总结为:
seed( ) ⽤于指定随机数⽣成时所⽤算法开始的整数值。
1.如果使⽤相同的seed( )值,则每次⽣成的随即数都相同;
2.如果不设置这个值,则系统根据时间来⾃⼰选择这个值,此时每次⽣成的随机数因时间差异⽽不同。
3.设置的seed()值仅⼀次有效
总结
以上就是本⽂关于numpy.random.seed()的使⽤实例解析的全部内容,希望对⼤家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不⾜之处,欢迎留⾔指出。感谢朋友们对本站的⽀持!
您可能感兴趣的⽂章:
Python numpy实现数组合并实例(vstack,hstack)
Python+matplotlib+numpy实现在不同平⾯的⼆维条形图
Python+matplotlib+numpy绘制精美的条形统计图
python的numpy模块安装不成功简单解决⽅法总结
windows 下python+numpy安装实⽤教程
Python numpy 常⽤函数总结
Python编程给numpy矩阵添加⼀列⽅法⽰例
Python numpy⽣成矩阵、串联矩阵代码分享
时间: 2018-02-02
Numpy是什么 在没给⼤家介绍numpy之前先给⼤家说下python的基本概念. Python 是⼀种⾼级的,动态的,多泛型的编程语⾔.Python代码很多时候看起来就像是伪代码⼀样,因此你可以使⽤很少的⼏⾏可读性很⾼的代码来实现⼀个⾮常强⼤的想法. numpy很简单,Numpy是Python的⼀个科学计算的库,提供了矩阵运算的功能,其⼀般与Scipy.matplotlib⼀起使⽤.其实,list已经提供了类似于矩阵的表⽰形式,不过numpy为我们提供了更多的函数. 数组 数组常⽤函数 1.w
在不同平⾯上绘制⼆维条形图. 本实例制作了⼀个3d图,其中有⼆维条形图投射到平⾯y=0,y=1,等. 演⽰结果: 完整代码: from
mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np # Fixing random state for reproducibility np.random.seed(19680801) fig = plt.figure() ax = fig.a
若⼲个数组可以沿不同的轴合合并到⼀起,vstack,hstack的简单⽤法, >>> a = np.floor(10*np.random.random((2,2))) >>> a array([[ 8., 8.], [ 0., 0.]]) >>> b = np.floor(10*np.random.random((2,2))) >>> b array([[ 1., 8.], [ 0., 4.]]) >>> np.vs
⾸先我们有⼀个数据是⼀个mn的numpy矩阵现在我们希望能够进⾏给他加上⼀列变成⼀个m(n+1)的矩阵 import numpy as np a =
np.array([[1,2,3],[4,5,6],[7,8,9]]) b = np.ones(3) c = np.array([[1,2,3,1],[4,5,6,1],[7,8,9,1]]) PRint(a) print(b) print(c) [[1 2 3] [4 5 6] [7 8 9]] [ 1. 1. 1.] [[1 2 3 1] [4
本⽂实例主要向⼤家分享了⼀个Python+matplotlib+numpy绘制精美的条形统计图的代码,效果展⽰如下: 完整代码如下: import matplotlib.pyplot as plt from numpy import arange from numpy.random import rand def gbar(ax, x, y, width=0.5,
bottom=0): X = [[.6, .6], [.7, .7]] for left, top in zip(x, y): ri
import numpy ⽣成numpy矩阵的⼏个相关函数: numpy.array() s() s()
e() 串联⽣成numpy矩阵的⼏个相关函数: numpy.array() w_stack() lumn_stack() shape() >>> import numpy >>> (3) array([[ 1., 0., 0.], [ 0., 1.
为了画个图,被numpy这个模块的安装真的折腾疯了⼀直装不上,花了⼏个⼩时,看了⽹上的很多教程.⽅法发现总结得不是很全,这⾥总结⼀下,防⽌⼤家再出现这个问题没有解决⽅法. Python的魅⼒之⼀,就是拥有众多功能强⼤的插件,但是这些插件的寻.安装.升级在windows系统上却⾮常之⿇烦.⾸先安装完Python后需要在系统配置环境变量,接下来⼜要安装Setuptools,⽽且安装过程中还会报编码错误,对于需要拷贝源码安装的还需要去CMD⾥打命令,还得⼩⼼翼翼避免打错参数,如果没有⼀位有经验
⼀.安装tkinter 在Linux中python默认是不安装Tkinter模块, 复制代码 代码如下: [root@li250-193 ~]# python Python 2.6.6
(r266:84292, Feb 22 2013, 00:00:18) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2 Type "help", "copyright", "credits" or "li
要判断⼀个模块是否安装,⾮常简单,在终端中进⼊python,然后输⼊import 模块名.然后如果安装成功没有任何提⽰,直接显⽰下⼀ ⾏交互,如果提⽰报错,那么就代表有问题. 例如 >>> import re >>> 可以看到上⾯的程序并没有报错,说明已经安装re模块 并且对于部分模块,除了可以import,还有专门
的测试⽅法来测试是不是模块中的所有⽅法都能正常运⾏,如numpy和scipy,就有可能 模块安装成功,但部分⽂件编译失败导致部分⽅法不能使⽤,这些模块在说明
Numpy模块被⼴泛⽤于科学和数值计算,⾃然有它的强⼤之处,之前对于特征处理中需要进⾏数据列表或者矩阵拼接的时候都是⾃⼰写的函数来完成的,今天发现⼀个好玩的函数,不仅好玩,关键性能强⼤,那就是Numpy模块⾃带的矩阵.列表连接函数,实践⼀下. #!usr/bin/env python #encoding:utf-8 from __future__ import division ''' __Author__:沂⽔寒城 使⽤numpy模块实现矩阵的连接操作 ''' import numpy as
本⽂实例讲述了Python使⽤numpy模块创建数组操作.分享给⼤家供⼤家参考,具体如下: 创建数组 创建ndarray 创建数组最简单的⽅法就是使⽤array函数.它接收⼀切序列型的对象(包括其他数组),然后产⽣⼀个新的含有传⼊数据的Numpy数组. array函数创建数组 import numpy as np ndarray1 = np.array([1, 2, 3, 4]) ndarray2 = np.array(list('abcdefg')) ndarray3 = np.array([
本⽂实例总结了Python中numpy模块常见⽤法.分享给⼤家供⼤家参考,具体如下: import numpy as np arr = np.array([[1,2,3],
[2,3,4]]) print(arr) print(type(arr)) print('number of dim:', arr.ndim) print('shape:', arr.shape) print('size:', arr.size) [[1 2 3] [2 3 4]] number of dim: 2 sha
本⽂实例讲述了Python向Excel中插⼊图⽚的简单实现⽅法.分享给⼤家供⼤家参考,具体如下: 使⽤Python向Excel⽂件中插⼊图⽚,这个功能之前学习xlwt的时候通过xlwt模块实现过.那时候是在公司做的尝试,印象中插⼊的图⽚最终缩⼩为了⼀个单元格,同时由于公司的加密系统如此实现了图⽚插⼊的Excel⽂件不能够再次打开. 这次试⽤XlsxWriter这个模块,推测这个模块应该是具有⽐xlwt强⼤的多的功能.代码实现如下: #!/usr/bin/python # -*- codding:
Python是⼀门⾮常简洁的语⾔,对于数据类型的表⽰,不像其他语⾔预定义了许多类型(如:在C#中,光整型就定义了8种),它只定义了六种基本类型:字符串,整数,浮点数,元组,列表,字典.通过这六种数据类型,我们可以完成⼤部分⼯作.但当Python需要通过⽹络与其他的平台进⾏交互的时候,必须考虑到将这些数据类型与其他平台或语⾔之间的类型进⾏互相转换问题.打个⽐⽅:C++写的客户端发送⼀个int型(4字节)变量的数据到Python写的服务器,Python接收到表⽰这个整数的4个字节数据,怎么解析成Py
主要使⽤json模块,直接导⼊import json即可. ⼩例⼦如下: #coding=UTF-8 import json info={} info["code"]=1 info["id"]=1900
info["name"]='张三' info["sex"]='男' list=[info,info,info] data={} data["code"]=1 data["id"]=190
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论