看透np.random.seed()函数只需此文

np.random.seed(n)用于生成指定的随机数,什么是指定的呢?就是这个函数将随机数分为n个堆,每个堆生成不同的随机数,参数n就表示第个堆,如果多次用此函数,并且n相同,则受此函数影响的np.random.rand()取得的随机数的值是相同的,因为在同一个堆中取得值。比如下面的例子。

import numpy as np

if __name__ == '__main__':
    i = 0
    while(i<6):
        if(i<3):
            np.random.seed(3)
            print(np.random.randn(1, 5))
        else:
            print(np.random.randn(1, 5))
            pass
        i += 1
    i = 0
    while(i<2):
        print(np.random.randn(1, 5))
        i += 1
    np.random.seed(3)
    i = 0
    while(i<6):
        print(np.random.randn(1, 5))
        i += 1

结果:

[[ 1.78862847  0.43650985  0.09649747 -1.8634927  -0.2773882 ]]
[[ 1.78862847  0.43650985  0.09649747 -1.8634927  -0.2773882 ]]
[[ 1.78862847  0.43650985  0.09649747 -1.8634927  -0.2773882 ]]

[[-0.35475898 -0.08274148 -0.62700068 -0.04381817 -0.47721803]]
[[-1.31386475  0.88462238  0.88131804  1.70957306  0.05003364]]
[[-0.40467741 -0.54535995 -1.54647732  0.98236743 -1.10106763]]
[[-1.18504653 -0.2056499   1.48614836  0.23671627 -1.02378514]]
[[-0.7129932   0.62524497 -0.16051336 -0.76883635 -0.23003072]]

------------------------------------------------------------------------------------------------
[[ 1.78862847  0.43650985  0.09649747 -1.8634927  -0.2773882 ]]
[[-0.35475898 -0.08274148 -0.62700068 -0.04381817 -0.47721803]]
[[-1.31386475  0.88462238  0.88131804  1.70957306  0.05003364]]
[[-0.40467741 -0.54535995 -1.54647732  0.98236743 -1.10106763]]
[[-1.18504653 -0.2056499   1.48614836  0.23671627 -1.02378514]]
[[-0.7129932   0.62524497 -0.16051336 -0.76883635 -0.23003072]]
 

从结果中可以看出来,看颜色分辨!!第一次循环中,i<3时上面用了此函数,那么这三条数据是相同的。下面三个循环没有使用此函数,生成的随机数就不相同。 下面的while循环中,上面使用了此函数,则影响下面的while循环,因为使用的函数的参数都是3,所以导致的结果就是和上面打印的随机数一样的,都是从3号堆中按顺序取的值。

只要是参数n一样那么取得值就一样,和参数本身无关,参数可以随意取!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值