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)可以正常工作了