NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍Python Numpy random.zipf() Zipf分布。

1、Zipf分布

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

Zipf定律:在集合中,第n个常用项是最常用项的1/n倍。 例如。 英语中的第5个普通单词是最常用单词的近1/5倍。

它有两个参数:

a-分配参数。

size-返回数组的形状。

例如:

绘制一个样本,用于zipf分发,分发参数为2,大小为2x3:

from numpy import random

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

print(x)

2、Zipf分布的可视化

采样1000个点,但仅绘制值<10的点才能获得更有意义的图表。

例如:

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

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

plt.show()

 Result

httpswwwcjavapycom

推荐文档