Random 函式在批量造資料中的運用
random函式作為python中生成隨機資料的主要函式,在我們造資料的過程中有著非常廣闊的應用
以下是random函式的幾種主要用法:
print( random.randint(1,10) ) # 產生 1 到 10 的一個整數型隨機數
print( random.random() ) # 產生 0 到 1 之間的隨機浮點數
print( random.uniform(1.1,5.4) ) # 產生 1.1 到 5.4 之間的隨機浮點數,區間可以不是整數
print( random.choice('tomorrow') ) # 從序列中隨機選取一個元素
print( random.randrange(1,100,2) ) # 生成從1到100的間隔為2的隨機整數
print random.sample('zyxwvnmlkjihgfedcba',5) # 多個字元中生成指定數量的隨機字元
我以自己剛在新公司寫的一個指令碼為例:需要批量生成C端的賬號,我需要每次生成隨機的手機號、身份證號再去調註冊介面、認證介面。批量生成隨機的手機號和身份證號會有很多應用到Random函式的地方。
手機號碼:3位字首+8位隨機數字
隨機取3位字首:
list = ['130','134','135','137','139','181','188','189']
temp = random.choice(list)
8位隨機數字,這裡提供2種寫法:
mobile = temp+''.join(random.choice("0123456789") for i in range(8))
mobile = temp + ''.join(random.sample(string.digits,8))
身份證號碼:6位地區碼+出生日期+三位隨機數+權重位
6位地區碼,如果想取值範圍廣一些,大家可以把地區碼寫到.txt或者excel裡面去讀取,我這裡就隨機列了一些地區碼去取:
arealist = [ "440301","370600", "370601", "370602", "370611", "370612", "370613", "370634", "370681",
"370682", "370683", ]
area = random.choice(arealist)
隨機生成出生日期,這裡我的方法是在一個範圍區間隨機取一個時間戳,但是time.mktime()方法有個坑,不能輸入1970年之前的日期:
start = (1971, 1, 17, 17, 3, 38, 1, 48, 0)
end = (2001, 12, 1, 12, 10, 10, 10, 10, 10)
start_time = time.mktime(start)
end_time = time.mktime(end)
s = random.randint(start_time,end_time)
toule = time.localtime(s)
birth = time.strftime("%Y%m%d",toule)
生成3位隨機數:
d = random.randint(100,999)
最後一位權重碼計算:
temp = area+str(birth)+str(id)
count=0
weight = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
checkcode = {0:'1',1:'0', 2:'X', 3:'9',4:'8',5:'7',6:'6',7:'5',8:'4',9:'3',10:'2'}
for i in range(0,len(temp)):
tes = int(temp[i])
count = count+tes*weight[i]
last = count%11
lastcode = checkcode[last]
IDcard = temp + ''.join(lastcode)
相關文章
- random()函式random函式
- JVM知識在離線資料中的運用JVM
- JAVA中的Random()函式Javarandom函式
- (譯)函式式元件在Vue.js中的運用函式元件Vue.js
- numpy-random函式random函式
- 用函式索引構造特殊的約束函式索引
- Elasticsearch在物流資料中心的應用Elasticsearch
- AS使用Random函式建立隨機數random函式隨機
- select查詢之五:分析函式在查詢的運用函式
- 設計模式是在運用構造定律設計模式
- 關於 Math.random 的一些函式random函式
- 為什麼你用不好Numpy的random函式?random函式
- javascript隨機數函式Math.random()JavaScript隨機函式random
- 隨機函式DBMS_RANDOM.STRING隨機函式random
- 學習並運用JavaScript的原生函式JavaScript函式
- Apache Hudi在醫療大資料中的應用Apache大資料
- postgresql中常用的函式:length、concat、as、substring、randomSQL函式random
- Python隨機函式random使用詳解Python隨機函式random
- 正規表示式在iOS中的運用iOS
- 在離散混合製造環境中應用製造運營模型模型
- 構造java函式(轉)Java函式
- java Math數學工具及Random隨機函式Javarandom隨機函式
- Python 內嵌函式運用(探究模組)Python函式
- 運用inlinehook主動呼叫函式inlineHook函式
- matlab用迴圈批量生成多個變數,神奇的eval()函式Matlab變數函式
- RAII:在類的建構函式中分配資源,在解構函式中釋放資源AI函式
- MySQL 日期函式、時間函式在實際場景中的應用MySql函式
- 《資料中心設計與運營實戰》——第1章介紹1.1倉儲式資料中心
- Oracle統計分析函式集,over(partition by..) 的運用Oracle函式
- 邊學邊寫——母函式及其在中學數學競賽中的運用(一)函式
- Oracle 函式大全(字串函式,數學函式,日期函式,邏輯運算函式,其他函式)Oracle函式字串
- 智慧運維,雲資料中心運維的未來之路運維
- 安科瑞資料中心綜合能效管理系統在資料中心綠色升級的應用
- zip函式在爬蟲中應用函式爬蟲
- R語言中na.omit函式的應用 以及 在資料框中的應用R語言MIT函式
- 資料中心運維人的半衰期危機運維
- JavaScript 批量註冊事件處理函式JavaScript事件函式
- 批量安裝python庫函式—pipPython函式