例如,我想使用 python 模拟随机正态分布,但在 x 轴上,我希望分布以 14:00 为中心。我知道我的分布将集中在哪里。
我的函数将接收一个时间戳并返回一个属于高斯函数的值。使用这个
您可以使用 loc 14 和比例 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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句