如何在一天内制作随机高斯分布

how to make my random gaussiana distribution over one day

我想使用 python 模拟随机正态分布,但在 x 轴上,我希望分布以 14:00 hs 为中心,例如。我知道我的分布将集中在哪里。

我的函数将收到一个时间戳和 return 一个属于高斯函数的值。 Using this

您可以使用 loc 14 和 scale 12(+- 12 小时)计算随机分布,然后将其添加为小时类型的 pandas timedelta。因此,根据您的时间戳,它将是

import numpy as np
import pandas as pd
timestamp + pd.Timedelta(np.random.normal(14,12),'h')

这应该可以解决问题。

编辑

如果你想在时间戳的那个小时左右从高斯分布中获取一个值,你可以使用这样的东西:

timestamp = pd.Timestamp('20180426140000')
np.random.normal(timestamp.hour,12)

如果你想包括分钟

timestamp.hour + timestamp.minute/60

当然,如果你需要更多的分布的一个值,那么你可以用第三个参数提供它

np.random.normal(timestamp.hour,12,10000)