在Python中创建假数据
我正在尝试创建一个函数,该函数创建用于单独分析的假数据。以下是该功能的要求 问题1 在这个问题中,您将使用numpy创建假数据。在下面的单元格中,函数create_data接受两个参数“n”和“rand_gen”在Python中创建假数据,python,numpy,random,Python,Numpy,Random,我正在尝试创建一个函数,该函数创建用于单独分析的假数据。以下是该功能的要求 问题1 在这个问题中,您将使用numpy创建假数据。在下面的单元格中,函数create_data接受两个参数“n”和“rand_gen” “rand_gen”参数是一个伪随机数生成器。我们正在使用伪随机数生成器生成相同的结果 使用伪随机生成器的numpy.random.randn函数创建长度为n的numpy数组并返回该数组 这是我创建的函数 def create_data(n, rand_gen): ''' Crea
- “rand_gen”参数是一个伪随机数生成器。我们正在使用伪随机数生成器生成相同的结果
- 使用伪随机生成器的numpy.random.randn函数创建长度为n的numpy数组并返回该数组
def create_data(n, rand_gen):
'''
Creates a numpy array with n samples from the standard normal distribution
Parameters
-----------
n : integer for the number of samples to create
rand_gen : pseudo-random number generator from numpy
Returns
-------
numpy array from the standard normal distribution of size n
'''
numpy_array = np.random.randn(n)
return numpy_array
这是我在函数上运行的第一个测试。
create_data(10, np.random.RandomState(seed=23))
[0.66698806, 0.02581308, -0.77761941, 0.94863382, 0.70167179,
-1.05108156, -0.36754812, -1.13745969, -1.32214752, 1.77225828]
我需要输出为这个精确的数组。
create_data(10, np.random.RandomState(seed=23))
[0.66698806, 0.02581308, -0.77761941, 0.94863382, 0.70167179,
-1.05108156, -0.36754812, -1.13745969, -1.32214752, 1.77225828]
我的输出仍然是完全随机的,我不完全理解RandomState调用试图用种子创建上述数组,而不是让它完全随机。我知道我需要在函数中使用rand_gen变量,但我不知道在哪里,我认为这是因为我不明白它试图创建什么o、 定义numpy\u array=rand\u gen.randn(n)我想你问的问题是关于伪随机数和可复制随机数 实数随机数是由实数不可预测的数据组成的,比如看熔岩灯,而伪随机数则会产生一长串看起来随机的数字 基本算法是:
numpy.random.seed()
进行设置,然后每次都获得相同的序列
我希望这就是你问的问题。相关?你根本没有在函数中使用
rand\u gen
?看起来你创建了一个种子生成器,然后默认返回到标准模块RNGI不知道numpy
,但我能够重现所需的结果。看看numpy.random.seed
。在去获取数组之前,您需要设置种子。正确,我不知道如何使用它。我尝试在当前使用n的位置使用它,但这给了我一个错误,然后我没有使用n,所以我将其取出,因为我仍然可以获取数组,而不是我需要的数组。只需调用rand\u gen.randn(n)
。