每年歲末是最忙的一段時間,標題雖然是[Day6],但其實從開始練習到現在已過快兩週,果然計畫趕不上變化,這天是練習Python亂數與統計這兩大內建模組的使用,希望可以順利練習下去。
本篇文章內容
Python亂數模組random
Random和statistics都是數據分析中很重要的基礎,在Python中可以直接Import來使用。
import random
隨機選取:choice()、sample()
如果要隨機選取一個列表中的一個或N個數字,可以是用choice()、sample()這兩個函式。
#從列表中隨機選取一個資料 x=random.choice([0,1,5,8]) print(x) #從列表中隨機選取N個資料 y=random.sample([0,1,5,8],3) #在數列中選取3個數字 print(y)
結果
8
[0, 5, 8]
隨機調換順序:shuffle()
可以把一個數列重新隨機排序。
data=[0,1,5,8] random.shuffle(data) print(data)
取得隨機亂數:random()、uniform()
random.uniform(0.0,1.0)
結果:隨機產出0.0-1.0的數字
取得常態分配亂數:normalvariate()
輸入平均數與標準差,得到常態分配亂數。
#取得平均數100、標準差10的常態分配亂數 #大多得到90~110之間的資料 y1=random.normalvariate(100,10) print(y1) #取得平均數0、標準差5的常態分配亂數 #大多得到-5~5之間的資料 y2=random.normalvariate(0,5) print(y2)
Python統計模組statistics
統計模組(statistics)內建了許多統計學會用到的計算公式,老實說我只有在五專時期短暫接觸過統計,那時候對數學避之唯恐不及(現在也是),很多統計概念跟名詞都已經忘光光還給老師了!
#統計模組 import statistics
實際使用不難,倒是花了一些時間惡補統計名詞。
計算平均數:mean()
#計算平均數 x1=statistics.mean([1,4,6,9,100]) print(x1)
執行結果
24
計算中位數:median()
#計算中位數 x2=statistics.median([1,4,6,9]) print(x2)
結果
5
計算標準差:stdev()
#計算標準差 x3=statistics.stdev([2,4,6,100]) print(x3)
結果
48.027769744874334
什麼是標準差:
用來描述數字分散情況。
公式:離均差平方合的平均開根號
推薦超清楚概念:Shgsh Math頻道:標準差
練習:Python猜數字,終極密碼(輸入1-100跟電腦玩猜數字)
利用亂數模組產生一個亂數,接著使用迴圈重複判斷數字是否符合,並給予太大或太小的提示。
import random an_2=random.randint(1,100) gu_2=int(input("請猜1-100數字")) while gu_2!=an_2: if gu_2>an_2: print("數字太大") gu_2=int(input("請再猜一次")) elif gu_2<an_2: print("數字太小") gu_2=int(input("請再猜一次")) print("答對了!!")
中間一開始只用if判斷式寫,這樣玩一次就沒了,後來才想到要用迴圈(重複判斷)。
執行結果
練習檔:Day6練習:猜數字
本次練習檔與影片
練習檔網址:Day6(12/7):Python 亂數與統計
影片列表:Python 亂數與統計模組
【Python新手練習】相關文章
【Python新手練習】系列文,是一個行銷人學習Python的筆記,希望可以藉由練習程式,訓練更強大的邏輯思考,如果你也對這塊有興趣,這些文章或許可以幫助到你!也歡迎一起交流。
行銷人的Python練習90計畫-為什麼要學Python?
Day0:Google Colab新手Python開發環境推薦
Day1:Python變數與資料型態
Day2:Python判斷式與迴圈(流程控制)
Day3:Python函式 定義、呼叫與回傳
Day4:載入Python模組與使用
Day5:Python檔案讀取和儲存
Day6:Python亂數與統計
Day7:Python API 開放資料串接,抓取台北市政府公開資料!
Day8:Python實體物件建立與使用
Day9:Python爬蟲實戰!抓取PTT電影版
發佈留言