Python 如何在numpy中设置固定的随机种子?

Python 如何在numpy中设置固定的随机种子?,python,numpy,Python,Numpy,我一直相信,播种总会得到同样的结果。但是我每次都得到不同的结果。如何设定种子,使我们每次都得到相同的结果 以下是MWE: import numpy as np import pandas as pd random_state = 100 np.random.state = random_state np.random.seed = random_state mu, sigma = 0, 0.25 eps = np.random.normal(mu,sigma,size=100) print

我一直相信,播种总会得到同样的结果。但是我每次都得到不同的结果。如何设定种子,使我们每次都得到相同的结果

以下是MWE:

import numpy as np
import pandas as pd


random_state = 100
np.random.state = random_state
np.random.seed = random_state

mu, sigma = 0, 0.25
eps = np.random.normal(mu,sigma,size=100)
print(eps[0])
我每次都得到不同的结果

更新: 我不能使用np.random.seed(xxx)
np.random.seed
是一个函数,您需要调用它,而不是将其赋值。例如:

np.random.seed(42)

np.random.seed
是全局设置随机状态的函数。作为替代方案,您还可以使用
np.random.RandomState(x)
实例化随机状态类以在本地获得再现性。根据您的代码,我提供了一个替代选项,如下所示

import numpy as np
random_state = 100
rng=np.random.RandomState(random_state )
mu, sigma = 0, 0.25
eps = rng.normal(mu,sigma,size=100) # Difference here
print(eps[0])

有关
np.random.seed
np.random.RandomState
的更多详细信息,可以找到。

np.random.seed(42)
-这是一个可能与@SpghttCd重复的函数,答案使用np.random.seed(42),但在我的情况下,该函数不起作用。@update,因为通过将
100
设置为
100,您已经重写了
np.random.seed
。关闭所有内容并重新开始,但不覆盖。或者试试
del np.random.seed
OH!我知道了,非常感谢。