Python/numpy random distribution

来自菜鸟教程
跳转至:导航、​搜索

<languages />

随机数据分配

什么是数据分配?

数据分发是所有可能值以及每个值出现频率的列表。

当使用统计和数据科学时,此类列表很重要。

random模块提供了返回随机生成的数据分布的方法。

随机分布

随机分布是遵循一定规则的一组随机数 probability density function .

概率密度函数: 描述连续概率的函数。i.e.数组中所有值的概率。


我们可以根据定义的概率使用 choice() 的方法 random 模块。

The choice() 方法使我们可以指定每个值的概率。

概率由介于0和1之间的数字设置,其中0表示永远不会出现该值,而1表示永远会出现该值。

生成包含100个值的一维数组,其中每个值必须为3、5、7或9。

将该值为3的概率设置为0.1

将该值为5的概率设置为0.3

将该值为7的概率设置为0.6

将该值为9的概率设置为0

  from numpy import random

x = random.choice([3, 5, 7, 9], p=[0.1, 0.3, 
  0.6, 0.0], size=(100))

print(x)

所有概率数之和应为1。


即使您将示例运行超过100次,值9也将永远不会出现。

您可以通过在中指定形状来返回任何形状和大小的数组 size 参数。

与上面的示例相同,但返回包含3行的二维数组,每行包含5个值。

  from numpy import random

x = random.choice([3, 5, 7, 9], p=[0.1, 0.3, 
  0.6, 0.0], size=(3, 5))

print(x)