首页 > 编程语言 >python -- numpy.random.seed()

python -- numpy.random.seed()

时间:2023-05-10 18:14:05浏览次数:31  
标签:randn python random -- seed pd np columns

 

在使用numpy时 ,有时需要用到随机数,并且想让生成的随机数在每次运行时都能得到相同的数组,这时可以使用random.seed(int i)函数,设置随机数种子。

 

下面用几个测试demo,感受下效果~

(1)测试demo1

import pandas as pd
import numpy as np

np.random.seed(0) 
sample = pd.DataFrame(np.random.randn(4, 5), columns = list("abcde"))
print(sample)

运行结果

          a         b         c         d         e
0  1.764052  0.400157  0.978738  2.240893  1.867558
1 -0.977278  0.950088 -0.151357 -0.103219  0.410599
2  0.144044  1.454274  0.761038  0.121675  0.443863
3  0.333674  1.494079 -0.205158  0.313068 -0.854096

 

(2)测试demo2

import pandas as pd
import numpy as np

np.random.seed(0) 
sample = pd.DataFrame(np.random.randn(4, 5), columns = list("abcde"))
print(sample)

np.random.seed(1) #seed(0)修改成seed(1)
sample2 = pd.DataFrame(np.random.randn(4, 5), columns = list("abcde"))
print(sample2)

np.random.seed(0) #依然用seed(0)
sample3 = pd.DataFrame(np.random.randn(4, 5), columns = list("abcde"))
print(sample3)

运行结果

          a         b         c         d         e
0  1.764052  0.400157  0.978738  2.240893  1.867558
1 -0.977278  0.950088 -0.151357 -0.103219  0.410599
2  0.144044  1.454274  0.761038  0.121675  0.443863
3  0.333674  1.494079 -0.205158  0.313068 -0.854096
          a         b         c         d         e
0  1.624345 -0.611756 -0.528172 -1.072969  0.865408
1 -2.301539  1.744812 -0.761207  0.319039 -0.249370
2  1.462108 -2.060141 -0.322417 -0.384054  1.133769
3 -1.099891 -0.172428 -0.877858  0.042214  0.582815
          a         b         c         d         e
0  1.764052  0.400157  0.978738  2.240893  1.867558
1 -0.977278  0.950088 -0.151357 -0.103219  0.410599
2  0.144044  1.454274  0.761038  0.121675  0.443863
3  0.333674  1.494079 -0.205158  0.313068 -0.854096

观察运行结果:第一组输出的随机数与第三组相同,第二组将seed(0)修改为seed(1)后,随机数有变化。

 

(3)测试demo3,seed()不带任何参数

import pandas as pd
import numpy as np

np.random.seed() 
sample = pd.DataFrame(np.random.randn(4, 5), columns = list("abcde"))
print(sample)

np.random.seed() 
sample2 = pd.DataFrame(np.random.randn(4, 5), columns = list("abcde"))
print(sample2)

np.random.seed() 
sample3 = pd.DataFrame(np.random.randn(4, 5), columns = list("abcde"))
print(sample3)

运行结果

          a         b         c         d         e
0  1.094043 -0.931689 -0.532350 -0.237909 -0.230972
1 -0.798923 -2.168856 -0.223408 -2.024618 -1.037132
2 -2.146633  0.018349 -0.561558 -0.240381 -0.680097
3 -0.437220 -1.044515  0.186219 -0.832676 -0.352089
          a         b         c         d         e
0 -0.261296  1.293606 -0.722539 -0.261261  0.406370
1 -0.833043 -0.468739  0.709612 -0.711061 -0.281835
2 -0.871825 -1.707190  1.514178 -0.592277  0.242300
3 -0.067427 -1.750746  0.360844  0.817316  2.208352
          a         b         c         d         e
0  0.183235 -0.221108 -0.137784  1.144260  1.228376
1 -0.393548 -0.620299  0.366166 -1.265649 -0.799490
2 -0.783431  0.854187 -0.550616 -0.817013  0.278221
3  0.199510 -0.830017  0.714336  1.185360  0.193153

观察运行结果,每组产生的随机数都不同。

 

结合以上demo测试结果,对random.seed(int i)的用法小结如下:

1) 如果使用相同的i值,每次生成的随机数都相同。
2) 如果不设置参数i,系统将根据时间自动选择i值,生成的随机数是存在差异的。

 

此篇到此结束~

 

标签:randn,python,random,--,seed,pd,np,columns
From: https://www.cnblogs.com/lmei/p/17388535.html

相关文章

  • 获取采购信息记录函数BAPI_INFORECORD_GETLIST
    DATA:lt_purchTYPETABLEOFbapieine,lt_returnTYPETABLEOFbapireturn.FIELD-SYMBOLS:<fs_return>TYPEbapireturn,<fs_purch>TYPEbapieine.CALLFUNCTION'BAPI_INFORECORD_GETLIST'EXPORTING......
  • Seesion
       ......
  • sql查询数据不匹配问题
    问题:SELECT* FROMrunoob_tb1where  id='123456789123456789';数据查询不对,id=123456789123456789只有一条数据,查询结果出来多条数据。 原因bigint的字段类型查询用字符串方式导致,bigint和string比较时会隐式地都转换成double,查询的字段长19位,double的精度只有15位,......
  • mapper接口开发--条件,为什么是接口、参数
    三个必要条件_mapper.java和_mapper.xml需要在同一个目录这就是为什么看到resources有同样的包xml中的namespace为mapper.java的全限定路径mapper.xml的id和mapper.java的方法名字、参数类型、返回值一致最后通过sqlSession.getMapper(*mapper.class)得到接口,这样就可以......
  • SVM 学习笔记
    SupportVectorMachine(SVM),也是广泛应用于各个领域的机器学习算法。注意为了方便,本文取消了\(x_0=1\)的这一维,故原来的\(\mathbf{\theta}^{\mathbf{T}}\mathbf{x}\),现在记为\(\mathbf{\theta}^{\mathbf{T}}\mathbf{x}+\theta_0\)。1.SVM模型我们先复习一下Logisti......
  • 麻了,一个操作把MySQL主从复制整崩了
    前言最近公司某项目上反馈mysql主从复制失败,被运维部门记了一次大过,影响到了项目的验收推进,那么究竟是什么原因导致的呢?而主从复制的原理又是什么呢?本文就对排查分析的过程做一个记录。主从复制原理我们先来简单了解下MySQL主从复制的原理。主库master服务器会将SQL记录......
  • 电源层
    PCB布局布线的建议是一个高附加值的任务,它的目的在于完成高EMC性能PCB设计,同时将由于EMC问题而产生的PCB布局布线成本最小化。PCB布局布线的建议的核心包括以下三方面:l指出关键EMC器件的在PCB中的相对位置;l指岀PCB中哪些区域需要进行完整的地平面设计,并将该地平面的阻抗最小......
  • springboot自动装配过程
    一、首先要知道springboot的启动类然后知道启动类有一个重要的注解:@SpringBootApplication然后跟踪查看,它是由@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan注解组成的@SpringBootConfiguration作用是声明当前类是一个组件@ComponentScan作用是扫描启......
  • mybatis运行原理-- 总述
    1.根据mybatis配置文件和mapper映射文件,初始化出Configuration对象。得到sqlSessionFactory,包含数据库的信息,和所有的mapper路径,mapper接口路径可用包扫描的方式代替;2.sqlSessionFactory.openSession得到sqlSession,里面已经包含了Configuration以及Executor(defaultExecutorType......
  • Docker 国内镜像加速
    1.摘要国内从DockerHub拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker官方和国内很多云服务商都提供了国内加速器服务,建议根据运行docker的云平台选择对应的镜像加速服务。下面列出国内常用的加速站点,排名不分先后,总体来说阿里云速度较稳定。docker中国区官方镜像加......