Skip to main content

python脚本和jupyter笔记本的数据模拟器

项目描述

Pydatamocker

为测试、学习和概念证明创建丰富的模拟数据!

关于

Pydatamocker 可以使用随机生成和抽样生成各种数据类型和分布的表格数据。也可以创建从一个表到另一个表的查找。即使生成大约 10 个字段的 1'000'000 条记录,采样速度也非常快。这些表以pandas DataFrames的形式呈现。

将表写入文件的 API 易于使用。只需指定文件路径,并从文件扩展名中推断出格式,无论是 csv、tsv、json 还是简单的文本文件。

数据集

软件包中包含一些数据集。可以对它们进行采样以用于字段。包括的数据集是:

  • ~ 20'000 个不同来源的名字
  • ~ 20,000 个不同来源的姓氏

开始使用

生产

通过运行安装 prod 版本

python3 -m pip install pydatamocker

测试

通过运行安装最新的测试版本

python3 -m pip install --index-url https://test.pypi.org/simple/ pydatamocker

代码示例

您可以使用生成模拟表

# Create data table
acc = MockTable('Accounts')
# Create an integer field with binomial(10, 0.4) distribution
acc.add_field('YearsOfExperience', 'integer', distr='binomial', n=10, p=0.4)
# Field with real randomized first names
acc.add_field('FirstName', 'first_name')
# Field with real randomized surnames
acc.add_field('LastName', 'last_name')
# Date field
acc.add_field('DateHired', 'date', distr='uniform', start='2016-10-25', end='2020-02-10')
# Integer field
acc.add_field('Id', 'integer', distr='range', start=100000, end=90000000)

# Create sample
acc.sample(100_000)

# Create another table
audit = MockTable('Audits')
# Add a lookup
audit.add_lookup(acc, ['Id'])
# Add an enum field
audit.add_field('Subject', 'enum', values=['PPI Access', 'Administrative Reconfiguration', 'Phone contact'], weights=[5, 1, 2])
audit.add_field('ContactedAt', 'datetime', distr='range', start='2016-10-25', end='2019-03-15')

audit.sample(1_000_000)

# Get pandas dataframe
acc_df = acc.get_dataframe()
audit_df = audit.get_dataframe()

# Dump into csv (other formats also supported)
acc.dump('accounts.csv')
audit.dump('audits.csv')

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

pydatamocker-1.0.0.tar.gz (156.6 kB 查看哈希

已上传 source

内置分布

pydatamocker-1.0.0-py3-none-any.whl (159.5 kB 查看哈希

已上传 py3