gpt4 book ai didi

python - 创建随机值并将其传递给具有硬边界的 Pandas 数据帧

转载 作者:行者123 更新时间:2023-12-01 15:12:16 25 4
gpt4 key购买 nike

我正在尝试使用随机值和硬上限/下限值的组合来模拟 Pandas 数据框。我正在使用 np.random.normal,因为原始数据是相当正态分布的。

我用来创建数据框的代码是:

df = pd.DataFrame({
"Temp": np.random.normal(6.809892, 2.975827,93),
"Sun": np.random.normal(1.615054,2.053996,93),
"Rel Hum": np.random.normal(87.153118,5.529958,93)
})

在上面的示例中,我希望所有三个值都有一个硬性下限和上限。例如,Rel。哼。不能低于 0 或高于 100。编辑:所有三个值都不会有相同的界限,无论是上限还是下限。温度可以变为负值,而太阳将限制在 0 和 24)

如何在创建相对正态分布的同时强制这些值,并将它们同时传递给数据框?

最佳答案

编辑:请注意,此样本来自给定参数的截断正态分布,很可能不是真正的正态分布,对于造成的混淆,我们深表歉意。

使用 scipy truncated normal定义为:

“此分布的标准形式是标准正态截断到范围 [a, b]”

from scipy.stats import truncnorm
low_bound = 0
upper_bound = 100
mean = 8
std = 2
a, b = (low_bound - mean) / std, (upper_bound - mean) / std
n_samples = 1000

samples = truncnorm.rvs(a = a, b = b,
loc = mean, scale = std,
size = n_samples)

感谢ALollz更正!

关于python - 创建随机值并将其传递给具有硬边界的 Pandas 数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59308579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com