我希望np.random.normal函数使用彼此对应的每个均值和标准差输出一个形状为(6,12,25)的数组(例如均值[0],stdev [0]然后均值[1]) ,stdev [1]等)。我尝试了这个:
rand_vars = []
for basin in range(6):
for month in range(12):
rand_vars.append(np.random.normal(mean_monthly_ts[basin,month],stdev_monthly_ts[basin,month],time_years[-25:].size))
rand_vars=np.array(rand_vars)
print(rand_vars.shape)
(72, 25)
但是rand_var的形状已关闭,给出了72,25而不是6,12,25。我认为我在for循环中覆盖了一些东西,或者我的均值和标准差未与正确的索引对齐
只需添加到代码末尾:
rand_vars=np.reshape(rand_vars,[6,12,25])
如果要验证重塑,让我们考虑以下修改(仅用于验证):
import numpy as np
rand_vars = []
for basin in range(6):
for month in range(12):
a=[ basin*100+month for i in range(25)] # just for verification purboses
rand_vars.append(a)
rand_vars=np.array(rand_vars)
rand_vars=np.reshape(rand_vars,[6,12,25])
rand_vars[0][0]
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0])
rand_vars[2][1]
array([201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201,
等等
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句