numpy里面的random.seed()的用法理解总结

博客围绕Python中numpy库的random模块展开实验。通过三个实验,探究了seed函数对随机数生成的影响。实验发现,seed函数传入的参数如同“标签”,相同标签产生的随机数相同,未加标签则产生不同随机数,帮助理解随机数生成机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.实验一

1.1实验一代码

import numpy as np
import random
def seed1():
    '''
    numpy里面的random
    关于np里面random.seed的意思和用法
    :return:
    '''
    for i in range(2):
        np.random.seed(2)
        p0=np.random.randn(3,5)
        print("输出p0:\n", p0)
    np.random.seed(2)
    p1=np.random.randn(3,5)

    print("输出p1:\n",p1)
if __name__=="__main__":
    seed1()
    print("______________")

1.2实验一结果

在这里插入图片描述

1.3个人理解总结

个人理解:从上面可以看出for循环里面,每次输出一个p0,都给p0“打上一个seed(2)的标签”,两个p0产生的随机数都一样,走出for循环,给p1也打上一个seed(2)的标签,p1的随机数也是和p0一样。
所以:可以理解为seed()函数的传入参数是一个“标签”,比如seed(1),打上seed(1)标签产生的所有的随机数是一样的,打上seed(1)和seed(2)的两个随机数不一样。
下面继续验证:

2.实验二

2.1实验二代码

import numpy as np
import random
def seed1():
    '''
    numpy里面的random
    关于np里面random.seed的意思和用法
    :return:
    '''
    for i in range(2):
        np.random.seed(2)
        p0=np.random.randn(3,5)
        np.random.seed(1)
        p3=np.random.randn(3,5)
        print("输出p0:\n", p0)
        print("输出p3:\n", p3)
    np.random.seed(2)
    p1=np.random.randn(3,5)

    print("输出p1:\n",p1)
if __name__=="__in__":
    seed1()
    print("______________")

2.2实验一结果

在这里插入图片描述

2.3个人理解总结

个人理解:在实验一的基础上加上了一个seed(1)和p3,发现结果是两个p3是相同的,

3.实验三

3.1实验二代码

import numpy as np
import random
def seed1():
    '''
    numpy里面的random
    关于np里面random.seed的意思和用法
    :return:
    '''
    for i in range(2):
        np.random.seed(2)
        p0=np.random.randn(3,5)
        np.random.seed(1)
        p3=np.random.randn(3,5)
        print("输出p0:\n", p0)
        print("输出p3:\n", p3)
    np.random.seed(2)
    p1=np.random.randn(3,5)
    print("输出p1:\n",p1)
    p4=np.random.randn(3,5)
    print("输出p4:\n",p4)
if __name__=="__in__":
    seed1()
    print("______________")

3.2实验一结果

在这里插入图片描述

3.3个人理解总结

个人理解:在实验二的基础上加上了一个p4,p4前面没有加seed标签,产生的随机数和前面的都不一样。
这样理解就不会忘了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuejich

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值