python - 给定均值和标准差生成二维正态分布

标签 python numpy

我正在寻找一个二维模拟 numpy.random.normal 例程,即 numpy.random.normal 生成一个一维数组均值、标准差和样本数作为输入,而我正在寻找的是一种使用相同输入参数在二维空间中生成点的方法。

看起来 numpy.random.multivariate_normal 可以做到这一点,但我不太明白 cov 参数应该是什么。以下摘录更详细地描述了此参数,摘自 scipy 文档:

Covariance matrix of the distribution. Must be symmetric and positive-semidefinite for “physically meaningful” results.

在页面后面的示例部分,给出了示例 cov 值:

cov = [[1,0],[0,100]] # diagonal covariance, points lie on x or y-axis

然而,这个概念对我来说仍然很不透明。

如果有人可以阐明 cov 应该是什么,或者建议使用 python 在给定均值和标准差的情况下在二维空间中生成点的另一种方法,我将不胜感激。

最佳答案

如果将 size=[1, 2] 传递给 normal() 函数,您会得到一个二维数组,这实际上就是您要查找的内容:

>>> numpy.random.normal(size=[1, 2])
array([[-1.4734477 , -1.50257962]])

关于python - 给定均值和标准差生成二维正态分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26968847/

相关文章:

python - 使用 numpy、pandas 和 scikit-learn 等依赖包运行 pyspark

python - 从 4D 列表构建图像

python - 从源代码安装时,使用 Python 3 和 Windows 安装 Spacy for NLP 会出现错误

python - 检查嵌套列表是否有任何条目的简单方法

numpy - 与ndarray相关的DataFrame.mul使用错误

python - 从 unixtime 转换为 numpy.datetime64 的最快方法是什么?

python - 将 Numpy 数组中的一个 channel 广播为三个 channel

python - 如何使用python检查目录中所有图像的尺寸?

Python:进程被杀死后多次打印到控制台

python - 如何在 Alembic/SQLAlchemy 中使用 USING 子句?