用Faker生成有意义的模拟数据
发布者::Guglielmo Iozzia inPython August 2nd, 2021 0 Views
Faker 是一个开源的Python包,它可以生成合成数据,这些数据可以用于很多方面,如填充数据库、做负载测试或为开发或ML目的匿名化生产数据。生成完全随机的数据并不是一个好的选择:使用Faker,你可以驱动生成过程,并根据你的具体需求定制生成的数据:这是Faker所提供的最大价值。这个软件包有23个内置的数据提供者,其他一些提供者可以从社区中获得。可用的数据提供者涵盖了大部分的数据类型和情况,但也可以通过实现自定义的提供者使生成的数据更有意义。
Faker支持Python 3.6+,可以通过PyPI或Anaconda进行安装。
这里有一个代码例子,显示了如何实现一个自定义的提供者,按照这个Kaggle数据集 的结构和约束条件生成合成数据,并将它们保存为CSV文件。
这个样本数据集包含了用户资料数据,有19个特征。为了简单起见,我将只考虑其中的10个。
- userID:以 "U "开头,后面有4个数字
- 纬度:在-90,90度范围内的一个十进制数字
- 经度:在-180,180度范围内的一个十进制数字
- 吸烟者:可以是真或假
- 饮酒水平:节制、随意饮酒或社交饮酒者
- 衣着偏好:无偏好,正式或非正式
- 环境: 独处,家庭或朋友
- 交通工具: 步行、车主或公共交通工具
- 婚姻状况: 单身、已婚或寡妇
- 孩子:独立、受抚养人或孩子
可以为这个特征生成模拟数据的Python代码如下。
它结合了一个内置的Faker提供者和一个自定义的提供者。Faker 类创建并初始化了一个faker生成器,
,将数据生成委托给提供者。
下面是执行上述代码后生成的数据样本。
Faker支持本地化(同一数据生成任务可使用多种语言),也可以通过_faker_ 命令从命令行执行。
绝对是一个值得使用的工具。几个月以来,它已经成为我和我的团队Python武器库的一部分。

