Python造假資料,用這個庫
阿新 • • 發佈:2021-06-21
Faker擴充套件庫
這時,Python擴充套件庫Faker來了,帶著它那各種各樣的資料來了。
先安裝faker
pip install Faker
建立faker物件
from faker import Faker fake = Faker()
隨機生成一個名字
fake.name() # 'Nancy Horton'
上邊生成的名字是英文的,想要箇中文名字怎麼辦?
很簡單,在建立Faker物件的時候,指定語言“中文”就可以。
fake = Faker("zh_CN")
一些常用的語言包括以下等等:
- 簡體中文:zh_CN
- 繁體中文:zh_TW
- 美國英文:en_US
- 英國英文:en_GB
- 德文:de_DE
- 日文:ja_JP
- 韓文:ko_KR
- 法文:fr_FR
都有什麼樣的資料
用faker可以生成哪些資料呢?
faker 提供了一些Standard Providers,列出了一些較為較為常用的資料。
- address
- company
- date_time
- job
- person
- phone_number
- profile
- python
- user_agent
比如生成“地址”資訊
In [1]: fake.address()
Out[1]: '北京市大冶市海陵趙路x座 941837'
這裡給出的是一整條“地址”的資訊,你也可以通過building_number()、city()、street_address()等獲取單個資訊
這些欄位其實記不住也沒什麼,需要用哪個的時候查閱官方文件就行。
文件連結
https://faker.readthedocs.io/en/master/providers.html
再比如生成“職位”資訊
In [2]: fake.job()
Out[2]: '電氣/電器工程師'
生成python的資料型別
# 生成一個字典 In [3]: fake.pydict() Out[3]: {'生產': 'OlmMWPfQMJYxeiJtZSFC', '有些': 'jUYzbWgDEqvzjiAsubSX', '資源': 7670, '應用': 804210265906561.0, '國際': 9113,'電影': 'https://yangtang.cn/homepage.jsp', '方面': 'RGfbqIgxqTbnjkGDpoVO', '為什': 1947, '地址': 7021, '時候': '[email protected]'}
生成user_agent
In [4]: fake.chrome()
Out[4]: 'Mozilla/5.0 (iPad; CPU iPad OS 4_2_1 like Mac OS X) AppleWebKit/531.2 (KHTML, like Gecko) CriOS/55.0.807.0 Mobile/62B715 Safari/531.2'
生成個人資訊
In [5]: fake.profile() Out[5]: {'job': '倉庫管理員', 'company': '太極傳媒有限公司', 'ssn': '370302198911123749', 'residence': '雲南省桂英市沈北新王路k座 204494', 'current_location': (Decimal('32.942144'), Decimal('95.019663')), 'blood_group': 'O-', 'website': ['https://www.minyan.cn/'], 'username': 'yangwen', 'name': '蔣璐', 'sex': 'M', 'address': '寧夏回族自治區寧德縣豐都長沙街a座 685268', 'mail': '[email protected]', 'birthdate': datetime.date(1971, 2, 13)}
如果想生成多條個人資訊,可以利用for迴圈,把每個字典在新增到列表裡,匯出一個DataFrame