日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

一个「神奇」的Python库,99%的人都爱!

發(fā)布時間:2024/9/15 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个「神奇」的Python库,99%的人都爱! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景介紹

今天介紹Python中一個超級神奇的庫,99%人用過都喜歡它,剩下的1%沒用過!

在如今的大數(shù)據(jù)時代,數(shù)據(jù)的價值可想而知。有時候?yàn)榱俗鰷y試,需要模擬真實(shí)的環(huán)境,但是又不能直接使用真實(shí)數(shù)據(jù),就需要我們認(rèn)為制造一些數(shù)據(jù)出來。

對比Excel,我還是覺得Python制造這樣的?"虛擬"?數(shù)據(jù),更省時、省力。

周末,突然想到了曾今做過的這個問題,這里為大家做個復(fù)盤吧!

需求:?老板讓模擬一批數(shù)據(jù),用于項(xiàng)目實(shí)驗(yàn),由于一些真實(shí)數(shù)據(jù)不能展示出來,我需要模擬一些數(shù)據(jù),字段包括:姓名、所在省份、詳細(xì)地址、手機(jī)號、身份證號、出生年月、郵箱等。

當(dāng)然,這批數(shù)據(jù)肯定是需要你最終寫入到Excel中,一次性交給老板的。那么,這樣的需求,你會做嗎?

實(shí)戰(zhàn):模擬1w條數(shù)據(jù)寫入Excel

在講述基礎(chǔ)之前,直接上實(shí)戰(zhàn),讓大家體會一下,如何將生成的模擬數(shù)據(jù),最終寫入到Excel文件中。

from?faker?import?Faker import?pandas?as?pdfake?=?Faker(["zh_CN"]) Faker.seed(0)def?get_data():key_list?=?["姓名","詳細(xì)地址","所在省份","手機(jī)號","身份證號","出生年月","郵箱"]name?=?fake.name()address?=?fake.address()province?=?address[:3]number?=?fake.phone_number()id_card?=?fake.ssn()birth_date?=?id_card[6:14]email?=?fake.email()info_list?=?[name,address,province,number,id_card,birth_date,email]person_info?=?dict(zip(key_list,info_list))return?person_infodf?=?pd.DataFrame(columns=["姓名","詳細(xì)地址","所在省份","手機(jī)號","身份證號","出生年月","郵箱"]) for?i?in?range(10000):person_info?=?[get_data()]df1?=?pd.DataFrame(person_info)df?=?pd.concat([df,df1]) df.to_excel("模擬數(shù)據(jù).xlsx",index=None)

結(jié)果如下:

上述數(shù)據(jù)純屬模擬,如果雷同,請勿對號!

Python庫講解

這么好用的Python庫,究竟應(yīng)該怎么使用呢?

我們直接使用下面的代碼,可以完成這個庫的安裝。

pip?install?Faker?-i?https://pypi.tuna.tsinghua.edu.cn/simple/

使用之前,使用如下代碼,導(dǎo)入這個庫。

from?faker?import?Faker

在講述寫入到Excel之前,我們先分布講述一下,每個函數(shù)的用法。

1. 生成姓名

fake?=?Faker(locale='zh_CN') name?=?fake.name() name

結(jié)果如下:

2. 生成詳細(xì)地址

address?=?fake.address() address

結(jié)果如下:

3. 生成所在省份

province?=?address[:3] province

結(jié)果如下:

由于這個函數(shù)每次運(yùn)行結(jié)果都不一樣,所以我才用切片方式,生成省份。當(dāng)然這里也有特定函數(shù),生成省份。

fake.province()

結(jié)果如下:

4. 生成手機(jī)號

number?=?fake.phone_number() number

結(jié)果如下:

5. 生成身份證號

id_card?=?fake.ssn() id_card

結(jié)果如下:

6. 生成出生年月

birth_date?=?id_card[6:14] birth_date

結(jié)果如下:

7. 生成郵箱

email?=?fake.email() email

結(jié)果如下:

補(bǔ)充

當(dāng)然,faker庫不僅可以幫助我們生成上述信息,還有很多其它方法可用,這些方法分為以下幾類:

  • address 地址

  • person 人物類:性別、姓名等

  • barcode 條碼類

  • color 顏色類

  • company 公司類:公司名、email、公司名前綴等

  • credit_card 銀行卡類:卡號、有效期、類型等

  • currency 貨幣

  • date_time 時間日期類:日期、年、月等

  • file 文件類:文件名、文件類型、文件擴(kuò)展名等

  • internet 互聯(lián)網(wǎng)類

  • job 工作

  • lorem 亂數(shù)假文

  • misc 雜項(xiàng)類

  • phone_number 手機(jī)號碼類:手機(jī)號、運(yùn)營商號段

  • python python數(shù)據(jù)

  • profile 人物描述信息:姓名、性別、地址、公司等

  • ssn 社會安全碼(身份證號碼)

  • user_agent 用戶代理

關(guān)于這些方法的使用,我們直接參考faker的官網(wǎng),用起來超方便。

faker.readthedocs.io/en/master/providers.html

1. address 地址

fake.country()??#?國家 fake.city()??#?城市 fake.city_suffix()??#?城市的后綴,中文是:市或縣 fake.address()??#?地址 fake.street_address()??#?街道 fake.street_name()??#?街道名 fake.postcode()??#?郵編 fake.latitude()??#?維度 fake.longitude()??#?經(jīng)度

2. person 人物

fake.name()?#?姓名 fake.last_name()?#?姓 fake.first_name()?#?名 fake.name_male()?#?男性姓名 fake.last_name_male()?#?男性姓 fake.first_name_male()?#?男性名 fake.name_female()?#?女性姓名

3. color 顏色

fake.hex_color()?#?16進(jìn)制表示的顏色 fake.rgb_css_color()?#?css用的rgb色 fake.rgb_color()??#?表示rgb色的字符串 fake.color_name()?#?顏色名字 fake.safe_hex_color()??#安全16進(jìn)制色 fake.safe_color_name()?#?安全顏色名字

4. company 公司

fake.company()?#?公司名 fake.company_suffix()?#?公司名后綴

5. credit_card 銀行信用卡

fake.credit_card_number(card_type=None)?#?卡號 fake.credit_card_provider(card_type=None)?#?卡的提供者 fake.credit_card_security_code(card_type=None)#?卡的安全密碼 fake.credit_card_expire()?#?卡的有效期 fake.credit_card_full(card_type=None)?#?完整卡信息

6. date_time 時間日期

fake.date_time(tzinfo=None)?#?隨機(jī)日期時間 fake.iso8601(tzinfo=None)?#?以iso8601標(biāo)準(zhǔn)輸出的日期 fake.date_time_this_month(before_now=True,?after_now=False,?tzinfo=None)?#?本月的某個日期 fake.date_time_this_year(before_now=True,?after_now=False,?tzinfo=None)?#?本年的某個日期 fake.date_time_this_decade(before_now=True,?after_now=False,?tzinfo=None)??#?本年代內(nèi)的一個日期 fake.date_time_this_century(before_now=True,?after_now=False,?tzinfo=None)??#?本世紀(jì)一個日期 fake.date_time_between(start_date="-30y",?end_date="now",?tzinfo=None)??#?兩個時間間的一個隨機(jī)時間 fake.timezone()?#?時區(qū) fake.time(pattern="%H:%M:%S")?#?時間(可自定義格式) fake.am_pm()?#?隨機(jī)上午下午 fake.month()?#?隨機(jī)月份 fake.month_name()?#?隨機(jī)月份名字 fake.year()?#?隨機(jī)年 fake.day_of_week()?#?隨機(jī)星期幾 fake.day_of_month()?#?隨機(jī)月中某一天 fake.time_delta()?#?隨機(jī)時間延遲 fake.date_object()??#?隨機(jī)日期對象 fake.time_object()?#?隨機(jī)時間對象 fake.unix_time()?#?隨機(jī)unix時間(時間戳) fake.date(pattern="%Y-%m-%d")?#?隨機(jī)日期(可自定義格式) fake.date_time_ad(tzinfo=None)??#?公元后隨機(jī)日期

7. file 文件

fake.file_name(category="image",?extension="png")?#?文件名(指定文件類型和后綴名) fake.file_name()?#?隨機(jī)生成各類型文件 fake.file_extension(category=None)?#?文件后綴 fake.mime_type(category=None)?#?mime-type

8. internet 互聯(lián)網(wǎng)

fake.ipv4(network=False)??#?ipv4地址 fake.ipv6(network=False)??#?ipv6地址 fake.uri_path(deep=None)?#?uri路徑 fake.uri_extension()?#?uri擴(kuò)展名 fake.uri()?#?uri fake.url()?#?url fake.image_url(width=None,?height=None)??#?圖片url fake.domain_word()?#?域名主體 fake.domain_name()?#?域名 fake.tld()?#?域名后綴 fake.user_name()?#?用戶名 fake.user_agent()?#?UA fake.mac_address()?#?MAC地址 fake.safe_email()?#?安全郵箱 fake.free_email()?#?免費(fèi)郵箱 fake.company_email()??#?公司郵箱 fake.email()?#?郵箱

9. job 工作

fake.job()#工作職位

10. lorem 亂數(shù)假文

fake.text(max_nb_chars=200)?#?隨機(jī)生成一篇文章 fake.word()?#?隨機(jī)單詞 fake.words(nb=3)??#?隨機(jī)生成幾個字 fake.sentence(nb_words=6,?variable_nb_words=True)??#?隨機(jī)生成一個句子 fake.sentences(nb=3)?#?隨機(jī)生成幾個句子 fake.paragraph(nb_sentences=3,?variable_nb_sentences=True)??#?隨機(jī)生成一段文字(字符串) fake.paragraphs(nb=3)??#?隨機(jī)生成成幾段文字(列表)

11. phone_number 電話號碼

fake.phone_number()?#?手機(jī)號碼 fake.phonenumber_prefix()?#?運(yùn)營商號段,手機(jī)號碼前三位

12. ssn 社會安全碼(身份證)

fake.ssn()?#?隨機(jī)生成身份證號(18位)

13. user_agent 用戶代理

fake.user_agent()

各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗(yàn)一下哦!(歡迎提建議)

推薦閱讀

牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)

牛逼!Python的判斷、循環(huán)和各種表達(dá)式(長文系列第②篇)

牛逼!Python函數(shù)和文件操作(長文系列第③篇)

牛逼!Python錯誤、異常和模塊(長文系列第④篇)

總結(jié)

以上是生活随笔為你收集整理的一个「神奇」的Python库,99%的人都爱!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。