手把手教你上手python库pydbgen(附代码、安装地址)

简介:

1a6767f5d843c67ec78b2bedca71ea1e7287b088

SQL或数据科学领域的初学者通常会很难轻易访问大型示例数据库文件(.DB或.sqlite)来练习SQL命令。那么用一个简单的工具或库来生成一个包含多个表的,并且用自己选择的数据填充的大型数据库会不会很好?

当你开始学习和实践数据科学时,通常最担心的不是算法或技术,而是原始数据的可用性。幸运的是,网上有许多高质量的真实数据库可用于尝试学习热门机器学习技巧。但是,从我个人的经验来看从个人经验来讲,我发现学习SQL并不是这样。现在,对于数据科学领域来说,掌握SQL的基础知识与知道如何使用Python或R编写代码几乎同等重要。但是,访问存有真实数据的足够大的数据库(例如名称,年龄,信用卡,SSN,地址,生日等)并不像访问Kaggle上的玩具数据集一样常见,这些数据集是为机器学习的任务专门设计或策划的。

用一个简单的工具或库来生成一个包含多个表的,并且用自己选择的数据填充的大型数据库会不会很好?

除了数据科学领域的初学者,即使经验丰富的软件测试人员也可能发现使用简单的工具很有用,只需几行代码,他们就可以任意生成包含随机(假)而且有意义的条目的大型数据集。

我很高兴能介绍一个轻量级的Python库,即pydbgen。你可以在这里阅读了解关于软件包的详细信息。(链接:http://pydbgen.readthedocs. Io /en /latest/#)我将在短文中回顾类似的细节。

pydbgen究竟是什么?

它是一个轻量级的纯python库,用于生成随机有用的条目(例如名称,地址,信用卡号码,日期,时间,公司名称,职位名称,车牌号码等),并将其保存在Pandas数据框对象中,或者作为数据库文件中的SQLite表格或MS Excel文件。

如何安装?

它(当前版本为1.0.5)是托管在PyPI(Python Package Index repository)上的。请记住你需要提前安装Faker(链接:https://faker.readthedocs.io/en/latest/index.html)来完成这项工作。所以,只需键入:

pip install pydbgen

请注意,它目前仅在Python 3.6上进行了测试。它不适用于Python 2的安装。

如何使用?

你必须创建一个pydb对象才能开始使用它。

import pydbgen

from pydbgen import pydbgen

myDB=pydbgen.pydb()

然后,你可以访问由pydbobject公开的各种内部函数。例如,要打印随机的美国城市:

myDB.city_real()

>> 'Otterville'

for _ in range(10):

print(myDB.license_plate())

>>

8NVX937

6YZH485

XBY-564

SCG-2185

XMR-158

6OZZ231

CJN-850

SBL-4272

TPY-658

SZL-0934

如果你只是写'city'而不是'city_real',你会得到虚构的城市名称

print(myDB.gen_data_series(num=8,data_type='city'))

>>

New Michelle

Robinborough

Leebury

Kaylatown

Hamiltonfort

Lake Christopher

Hannahstad

West Adamborough

如何生成一个带有随机条目的Pandas数据框?

你可以选择要生成的数量和数据类型。请注意,所有内容都以string/texts形式返回。

testdf=myDB.gen_dataframe(5,['name','city','phone','date'])

testdf

如何生成数据库表?

你可以选择要生成数据的数量和类型。请注意,所有内容都以数据库的text/ VARCHAR所有数据类型返回所有数据都以text/ VARCHAR类型返回数据库。你可以指定数据库文件名和表名。

myDB.gen_table(db_file='Testdb.DB',table_name='People',

fields=['name','city','street_address','email'])

这会生成一个可用于MySQL或SQLite数据库服务器的.DB文件。 生成的数据库表在SQLite数据库浏览器中打开。

如何生成Excel文件?

与上面类似,只需使用以下代码生成随机数据的Excel文件即可。 请注意,'simple_phone'集被设置为False,因此会生成复杂的长型电话号码。这样可以方便试验更多涉及数据提取的代码!

myDB.gen_excel(num=20,fields=['name','phone','time','country'],

phone_simple=False,filename='TestExcel.xlsx')

用一种很酷的方法生成随机emailIDs以便废物利用?

pydbgen中一种内置方法是realistic_email,它从种子名称中生成随机电子邮件IDs。你能想到在网络上使用这个吗?你不想给出真实的电子邮件ID,但是可以给出一个相似的?

for _ in range(10):

print(myDB.realistic_email('Tirtha Sarkar'))

>>

Tirtha_Sarkar@gmail.com

Sarkar.Tirtha@outlook.com

Tirtha_S48@verizon.com

Tirtha_Sarkar62@yahoo.com

Tirtha.S46@yandex.com

Tirtha.S@att.com

Sarkar.Tirtha60@gmail.com

TirthaSarkar@zoho.com

Sarkar.Tirtha@protonmail.com

Tirtha.S@comcast.net

未来的改进和用户贡献

当前版本是1.0.5,可能包含许多bug。如果你在执行过程中注意到任何bug或者你的程序崩溃(除了你的错误输入),请告诉我。另外,如果你有一个很酷的想法来为源代码做贡献,Github repo链接:https://github.com/tirthajyoti/pydbgen)将为你打开。有一些问题很容易想到:

8481c8f592b7f349aa84a1de5c171db681516edf 我们可以将机器学习/统计建模和这个随机数据生成器集成吗?
8481c8f592b7f349aa84a1de5c171db681516edf 可视化功能可以被添加到发生器中吗?

原文发布时间为:2018-04-2
本文作者:T.Sarkar
本文来自云栖社区合作伙伴“ 数据派THU”,了解相关信息可以关注“ 数据派THU”微信公众号
相关文章
|
3天前
|
JSON Shell 数据格式
使用 pipx 安装并执行 Python 应用程序 (1)
使用 pipx 安装并执行 Python 应用程序 (1)
40 17
|
4天前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
29 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
22天前
|
IDE 测试技术 项目管理
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
PyCharm是由JetBrains开发的Python集成开发环境(IDE),专为Python开发者设计,支持Web开发、调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制等功能。它有专业版、教育版和社区版三个版本,其中社区版免费且适合个人和小型团队使用,包含基本的Python开发功能。安装PyCharm前需先安装Python解释器,并配置环境变量。通过简单的步骤即可在PyCharm中创建并运行Python项目,如输出“Hello World”。
197 13
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
|
28天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
104 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
29天前
|
人工智能 Java Python
python安装、vscode安装、conda安装:一文搞定Python的开发环境(史上最全)
尼恩架构团队推出了一系列《LLM大模型学习圣经》PDF,旨在帮助读者深入理解并掌握大型语言模型(LLM)及其相关技术。该系列包括Python基础、Transformer架构、LangChain框架、RAG架构及LLM智能体等内容,覆盖从理论到实践的各个方面。此外,尼恩还提供了配套视频教程,计划于2025年5月前发布,助力更多人成为大模型应用架构师,冲击年薪百万目标。
|
1月前
|
Shell Linux iOS开发
使用 pipx 安装并执行 Python 应用程序 (1)
使用 pipx 安装并执行 Python 应用程序 (1)
52 0
使用 pipx 安装并执行 Python 应用程序 (1)
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
72 20
|
1月前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
41 0
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
|
2月前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
2月前
|
XML JSON 数据库
Python的标准库
Python的标准库
185 77

热门文章

最新文章

推荐镜像

更多