truncnorm 生成低于下边界的值
truncnorm generates values below lower boundary
我想生成正态分布值并找到了这个 post:
How to specify upper and lower limits when using numpy.random.normal
但是,当我 运行 以下代码时,我也得到低于下限的负值
seed = 1
random.seed(seed)
np.random.seed(seed)
lower = 100_000
mean = 600_000_000
sigma = 700_000_000
nrows = 2000
upper = 10000000000
series = pd.Series(stats.truncnorm(
(lower - mean) / sigma,
(upper - mean) / sigma,
loc=mean,
scale=sigma,
)
.rvs(size=nrows)
.astype(int))
series.hist()
如何才能只获取高于下限的值?
解决了,问题出在.astype(int)转换上,现在用.astype(np.int64)可以正常工作了
我想生成正态分布值并找到了这个 post: How to specify upper and lower limits when using numpy.random.normal 但是,当我 运行 以下代码时,我也得到低于下限的负值
seed = 1
random.seed(seed)
np.random.seed(seed)
lower = 100_000
mean = 600_000_000
sigma = 700_000_000
nrows = 2000
upper = 10000000000
series = pd.Series(stats.truncnorm(
(lower - mean) / sigma,
(upper - mean) / sigma,
loc=mean,
scale=sigma,
)
.rvs(size=nrows)
.astype(int))
series.hist()
如何才能只获取高于下限的值?
解决了,问题出在.astype(int)转换上,现在用.astype(np.int64)可以正常工作了