日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
pydbgen:一個(gè)數(shù)據(jù)庫(kù)隨機(jī)生成器

用這個(gè)簡(jiǎn)單的工具生成帶有多表的大型數(shù)據(jù)庫(kù),讓你更好地用 SQL 研究數(shù)據(jù)科學(xué)。

創(chuàng)新互聯(lián)建站專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、武邑網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為武邑等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

在研究數(shù)據(jù)科學(xué)的過(guò)程中,最麻煩的往往不是算法或者技術(shù),而是如何獲取到一批原始數(shù)據(jù)。盡管網(wǎng)上有很多真實(shí)優(yōu)質(zhì)的數(shù)據(jù)集可以用于機(jī)器學(xué)習(xí),然而在學(xué)習(xí) SQL 時(shí)卻不是如此。

對(duì)于數(shù)據(jù)科學(xué)來(lái)說(shuō),熟悉 SQL 的重要性不亞于了解 Python 或 R 編程。如果想收集諸如姓名、年齡、信用卡信息、地址這些信息用于機(jī)器學(xué)習(xí)任務(wù),在 Kaggle 上查找專(zhuān)門(mén)的數(shù)據(jù)集比使用足夠大的真實(shí)數(shù)據(jù)庫(kù)要容易得多。

如果有一個(gè)簡(jiǎn)單的工具或庫(kù)來(lái)幫助你生成一個(gè)大型數(shù)據(jù)庫(kù),表里還存放著大量你需要的數(shù)據(jù),豈不美哉?

不僅僅是數(shù)據(jù)科學(xué)的入門(mén)者,即使是經(jīng)驗(yàn)豐富的軟件測(cè)試人員也會(huì)需要這樣一個(gè)簡(jiǎn)單的工具,只需編寫(xiě)幾行代碼,就可以通過(guò)隨機(jī)(但是是假隨機(jī))生成任意數(shù)量但有意義的數(shù)據(jù)集。

因此,我要推薦這個(gè)名為 pydbgen 的輕量級(jí) Python 庫(kù)。在后文中,我會(huì)簡(jiǎn)要說(shuō)明這個(gè)庫(kù)的相關(guān)內(nèi)容,你也可以閱讀它的文檔詳細(xì)了解更多信息。

pydbgen 是什么

pydbgen 是一個(gè)輕量的純 Python 庫(kù),它可以用于生成隨機(jī)但有意義的數(shù)據(jù)記錄(包括姓名、地址、信用卡號(hào)、日期、時(shí)間、公司名稱、職位、車(chē)牌號(hào)等等),存放在 Pandas Dataframe 對(duì)象中,并保存到 SQLite 數(shù)據(jù)庫(kù)或 Excel 文件。

如何安裝 pydbgen

目前 1.0.5 版本的 pydbgen 托管在 PyPI(Python 包索引存儲(chǔ)庫(kù)Python Package Index repository)上,并且對(duì) Faker 有依賴關(guān)系。安裝 pydbgen 只需要執(zhí)行命令:

 
 
 
 
  1. pip install pydbgen

已經(jīng)在 Python 3.6 環(huán)境下測(cè)試安裝成功,但在 Python 2 環(huán)境下無(wú)法正常安裝。

如何使用 pydbgen

在使用 pydbgen 之前,首先要初始化 pydb 對(duì)象。

 
 
 
 
  1. import pydbgen
  2. from pydbgen import pydbgen
  3. myDB=pydbgen.pydb()

隨后就可以調(diào)用 pydb 對(duì)象公開(kāi)的各種內(nèi)部函數(shù)了??梢园凑障旅娴睦?,輸出隨機(jī)的美國(guó)城市和車(chē)牌號(hào)碼:

 
 
 
 
  1. myDB.city_real()
  2. >> 'Otterville'
  3. for _ in range(10):
  4. print(myDB.license_plate())
  5. >> 8NVX937
  6. 6YZH485
  7. XBY-564
  8. SCG-2185
  9. XMR-158
  10. 6OZZ231
  11. CJN-850
  12. SBL-4272
  13. TPY-658
  14. SZL-0934

另外,如果你輸入的是 city() 而不是 city_real(),返回的將會(huì)是虛構(gòu)的城市名。

 
 
 
 
  1. print(myDB.gen_data_series(num=8,data_type='city'))
  2. >>
  3. New Michelle
  4. Robinborough
  5. Leebury
  6. Kaylatown
  7. Hamiltonfort
  8. Lake Christopher
  9. Hannahstad
  10. West Adamborough

生成隨機(jī)的 Pandas Dataframe

你可以指定生成數(shù)據(jù)的數(shù)量和種類(lèi),但需要注意的是,返回結(jié)果均為字符串或文本類(lèi)型。

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

最終產(chǎn)生的 Dataframe 類(lèi)似下圖所示。

生成數(shù)據(jù)庫(kù)表

你也可以指定生成數(shù)據(jù)的數(shù)量和種類(lèi),而返回結(jié)果是數(shù)據(jù)庫(kù)中的文本或者變長(zhǎng)字符串類(lèi)型。在生成過(guò)程中,你可以指定對(duì)應(yīng)的數(shù)據(jù)庫(kù)文件名和表名。

 
 
 
 
  1. myDB.gen_table(db_file='Testdb.DB',table_name='People',
  2. fields=['name','city','street_address','email'])

上面的例子種生成了一個(gè)能被 MySQL 和 SQLite 支持的 .db 文件。下圖則顯示了這個(gè)文件中的數(shù)據(jù)表在 SQLite 可視化客戶端中打開(kāi)的畫(huà)面。

生成 Excel 文件

和上面的其它示例類(lèi)似,下面的代碼可以生成一個(gè)具有隨機(jī)數(shù)據(jù)的 Excel 文件。值得一提的是,通過(guò)將 phone_simple 參數(shù)設(shè)為 False ,可以生成較長(zhǎng)較復(fù)雜的電話號(hào)碼。如果你想要提高自己在數(shù)據(jù)提取方面的能力,不妨嘗試一下這個(gè)功能。

 
 
 
 
  1. myDB.gen_excel(num=20,fields=['name','phone','time','country'],
  2. phone_simple=False,filename='TestExcel.xlsx')

最終的結(jié)果類(lèi)似下圖所示:

生成隨機(jī)電子郵箱地址

pydbgen 內(nèi)置了一個(gè) realistic_email 方法,它基于種子來(lái)生成隨機(jī)的電子郵箱地址。如果你不想在網(wǎng)絡(luò)上使用真實(shí)的電子郵箱地址時(shí),這個(gè)功能可以派上用場(chǎng)。

 
 
 
 
  1. for _ in range(10):
  2. print(myDB.realistic_email('Tirtha Sarkar'))
  3. >>
  4. Tirtha_Sarkar@gmail.com
  5. Sarkar.Tirtha@outlook.com
  6. Tirtha_S48@verizon.com
  7. Tirtha_Sarkar62@yahoo.com
  8. Tirtha.S46@yandex.com
  9. Tirtha.S@att.com
  10. Sarkar.Tirtha60@gmail.com
  11. TirthaSarkar@zoho.com
  12. Sarkar.Tirtha@protonmail.com
  13. Tirtha.S@comcast.net

未來(lái)的改進(jìn)和用戶貢獻(xiàn)

目前的版本中并不***。如果你發(fā)現(xiàn)了 pydbgen 的 bug 導(dǎo)致它在運(yùn)行期間發(fā)生崩潰,請(qǐng)向我反饋。如果你打算對(duì)這個(gè)項(xiàng)目貢獻(xiàn)代碼,也隨時(shí)歡迎你。當(dāng)然現(xiàn)在也還有很多改進(jìn)的方向:

  • pydbgen 作為隨機(jī)數(shù)據(jù)生成器,可以集成一些機(jī)器學(xué)習(xí)或統(tǒng)計(jì)建模的功能嗎?
  • pydbgen 是否會(huì)添加可視化功能?

一切皆有可能!


文章標(biāo)題:pydbgen:一個(gè)數(shù)據(jù)庫(kù)隨機(jī)生成器
網(wǎng)頁(yè)網(wǎng)址:http://www.5511xx.com/article/cdpicih.html