NumPy Zipf 分布

Zipf 分布

Zipf 分布用于根据 zipf 定律对数据进行采样。

Zipf 定律:在集合中,第 n 个常用项是最常用项的 1/n 倍。例如,在英语中,第五常见的单词出现的频率几乎是最常见单词的 1/5。

它有两个参数:

  • a - 分布参数。
  • size - 返回数组的形状。

实例

抽取一个 zipf 分布的样本,分布参数为 2,大小为 2x3:

from numpy import random

x = random.zipf(a=2, size=(2, 3))

print(x)

亲自试一试

Zipf 分布的可视化

采样 1000 个点,但仅绘制值小于 10 的点,以获得更有意义的图表。

实例

from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns

x = random.zipf(a=2, size=1000)
sns.displot(x[x<10])

plt.show()

亲自试一试

结果