手把手教你上手python库pydbgen(附代码、安装地址)
原文标题:Introducing pydbgen: A random dataframe/database table generator
作者:Tirthajyoti Sarkar
翻译:王婷
校对:李海明
本文共1500字,建议阅读5分钟。
本文通过介绍pydbgen的安装使用,以及一些基本功能实现和代码,带你简单地了解一下pydbgen。
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)将为你打开。有一些问题很容易想到:
我们可以将机器学习/统计建模和这个随机数据生成器集成吗?
可视化功能可以被添加到发生器中吗?
所有的可能性是无穷无尽且令人激动万分的……
如果你有任何问题或想法可以分享,请通过tirthajyoti[AT]gmail.com联系作者。你也可以在Python,R或MATLAB以及机器学习资源中查找作者的GitHub存储库(链接:https://github.com/tirthajyoti?tab=repositories)以获取其他有趣的代码片段。 如果你像我一样热衷于机器学习/数据科学,请随时在LinkedIn上添加我(链接:https://www.linkedin.com/in/tirthajyoti-sarkar-2127aa7/)或在Twitter上关注我(链接:https://twitter.com/tirthajyotiS)。
原文链接:https://www.codementor.io/tirthajyotisarkar/introducing-pydbgen-a-random-dataframe-database-table-generator-hi6i65h46
译者简介
王婷,南京理工大学在读研究生,爱笑得有眼角鱼尾纹的运气不赖的女生。不喜欢呆板、教条、无聊,喜欢接触新事物,参加新活动,融入新环境,结交新朋友,互相学习,取长补短。
翻译组招募信息
工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。
你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。
其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。
点击文末“阅读原文”加入数据派团队~
转载须知
如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:datapi),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。
发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。
点击“阅读原文”拥抱组织
手把手教你上手python库pydbgen(附代码、安装地址)相关推荐
- 独家 | 手把手教你使用OpenCV库(附实例、Python代码解析)
作者:Anirudh Rao 翻译:吴金笛 校对:李洁 本文约4000字,建议阅读10+分钟. 本文将通过几个简单的实例带你上手OpenCV库,新手必备!
- python预测实例教程_手把手教你用Python库Keras做预测(附代码)-阿里云开发者社区...
当你在Keras中选择好最合适的深度学习模型,就可以用它在新的数据实例上做预测了.但是很多初学者不知道该怎样做好这一点,我经常能看到下面这样的问题: "我应该如何用Keras对我的模型作出预 ...
- 一文盘点三大顶级Python库(附代码)
来源:开源最前线 本文约1500字,建议阅读5分钟. 本文为你分享最受数据科学青睐的3个顶级的Python库. Python在许多方面有着强大的吸引力 - 例如效率.代码可读性和速度方面,也正因为如此 ...
- python高手 百家号_别犹豫,美剧想看就看,手把手教你用Python轻松获取经典美剧地址...
最早一部<越狱>转变了我对美剧的看法.主人公scofield的聪明才智和坚强的毅力,<绝命毒师>里面主人公的中年逆袭,<纸牌屋>里面老谋深算的政客,等等,这些美剧和 ...
- python代码在线回归中怎么运行_手把手教你用Python进行回归(附代码、学习资料)...
原标题:手把手教你用Python进行回归(附代码.学习资料) 作者: GURCHETAN SINGH翻译:张逸校对:丁楠雅 本文共5800字,建议阅读8分钟. 本文从线性回归.多项式回归出发,带你用P ...
- 手把手教你用Python打造一款属于你自己的个性二维码
击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 今夜闻君琵琶语,如听仙乐耳暂明. / ...
- python编程例子 输入 输出-推荐 :手把手教你用Python创建简单的神经网络(附代码)...
原标题:推荐 :手把手教你用Python创建简单的神经网络(附代码) 作者:Michael J.Garbade:翻译:陈之炎:校对:丁楠雅 本文共2000字,9分钟. 本文将为你演示如何创建一个神经网 ...
- python代码示例图形-纯干货:手把手教你用Python做数据可视化(附代码)
原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...
- python画图代码大全-纯干货:手把手教你用Python做数据可视化(附代码)
原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...
最新文章
- OpenCV中BLOB特征提取与几何形状分类
- spring实例教程
- python PyQt5 QLabel()(可以用来显示文字、图片或作为放置一些控件提示信息的容器)
- [Java基础]Properties
- flex.css快速入门,极速布局
- CVPR 2021 接收论文临时列表!27%接受率!
- PAT乙级(1034 有理数四则运算)
- 酷我 android 目录,酷我听听:Android平台最强音乐播放器
- 写了一百万行代码是什么体验?
- BigDecimal 加减乘除 | 比较大小 | 取最大最小值 | 保留小数位 |转String
- 期货交易常用术语中英文对照表
- 删除MAC电脑中卸载PS后在launchpad中残留的图标
- mac 开机启动php,macbook开机启动nginx和php
- 手把手教你使用Python抓取QQ音乐数据(第一弹)
- # 我的家乡--永平风景
- 转:修改ETM,用Ogre实现《天龙八部》地形与部分场景详解
- 工欲善其事必先利其器(Windows)
- K8s-进入容器内部
- SQLServer EOMONTH函数
- 太阳能光热教学实验平台QY-T08
热门文章
- localStorage、sessionStorage、Cookie的区别及用法
- 快速定制SolidWorks Electrical清单模板
- java 构造函数内部的多态方法 完全剖析
- Swift - 访问通讯录联系人(使用系统提供的通讯录交互界面)
- Oracle 表的访问方式(2)-----索引扫描
- 实战Linux Bluetooth编程(四) L2CAP层编程
- 【STM32 .Net MF开发板学习-17】Wifi遥控智能小车
- 根据PI/4 = 1 - 1/3 +1/5-1/7+1/9求圆周率
- php编写星期几,PHP实现今天是星期几的几种写法
- JAVA 基本类型传值,对象类型传引用