根据近似对数正态分布绘制随机选择的 numpy 数组

Draw random selection of a numpy array following approximately a lognormal distribution

假设我在 Python 中有一个我使用

创建的数字网格
import numpy as np
h = np.linspace(0,20,100)

我试图在 h 的元素中进行随机选择,选择的分布遵循例如对数正态分布,具有给定的均值和标准差。我怎样才能做到这一点?

这可以很快解决。首先,您必须找到一种方法来按照您的习惯 pdf 绘制随机索引。完成此操作后,您可以使用这些索引绘制从 0100 的数字和 return 这些索引处的数组条目。

要以这种方式随机抽取数字,'python'中有几种方法,例如this。当您以这种方式在名为 indices 的数组中绘制随机索引时,您可以使用:

result = h[indices]

创建你想要的 numpy 数组。

仅从对数正态分布中抽取样本可能更容易

np.random.lognormal(mean=5,sigma=2,size=10)