标签:Python
本文展示如何轻松地在Python中生成随机和唯一的数据,这里将使用一个名为faker的库。
安装库
首先,使用pip安装库:
pip install faker
在Python中生成随机数据
要使用Python faker库生成随机数据,只需要一个faker对象,它可以让我们生成随机名称、地址,甚至(当然是假的)信用卡号和航空公司信息,如下图1所示。
图1
可再现的随机数据
注意,由于库的随机性,每次运行上述代码时,都会得到不同的结果。因此,在终端运行代码时,会得到不同的名称。
像许多随机数生成器一样,可以使用seed来确保其他人可以复制结果。因此,运行下面的2行代码以再现以下结果:
图2
随机和唯一数据
Faker对象具有属性.unique,可以使用它在Faker实例的生命周期内帮助生成唯一的数据。
让我们测试一下,下面的代码证明了所有10000个随机名称都是唯一的。注意,我们首先使用列表解析创建一个包含10000个随机名称的列表,然后将该列表转换为集,该集将删除任何重复值。如下图3所示,所有生成的10000个名称都是唯一的。
图3
国外随机数据
Faker不仅可以生成英语数据,还可以生成其他语言和地区的数据。默认情况下,faker中的区域设置为US/English。我们可以通过调用.locales属性来检查。
图4
为了在随机数生成器中添加多个区域设置,只需要将区域设置列表传递到Faker()构造函数中。
图5
什么样的随机数据可用?
如何找出faker可以生成什么样的随机数据呢?这是一个相当长的列表,可以通过调用Faker.__dir__()找到。大约有300个!
图6
扩展随机数据
虽然faker已经提供了各种各样的随机数据,但网上一些很酷的家伙通过扩展faker可以提供的随机数据超越了限制。需要安装额外的库来使用这些其他的随机数据,这些数据被称为“providers”,并作为基本的Faker库的附加组件。下面是几个有趣的例子:
图7
具体看看faker_airtravel,看看它是如何工作的。同样,我们使用pip来安装它。
pip install faker_airtravel
需要使用faker.add_provider()方法将提供者(provider)添加到Faker对象。然后,可以调用.airport_object()方法,该方法在基本的Faker库中不存在。
图8
为了找到AirTravelProvider对象中可用的随机数据,可以再次使用dir技巧:
dir(AirTravelProvider)
生成随机Pandas数据集
使用faker和faker_airtravel库为航班乘客生成一些随机数据。这是一种生成随机数据的非常方便的方法。
图9
注:本文学习整理自pythoninoffice.com,供有兴趣的朋友参考。