開始使用免費開始

使用 np.random 模組產生亂數

在本課程以及續集裡,我們會大量使用 np.random 模組。實際上,當你戴上「駭客統計學家」的帽子時,你很可能呼叫亂數產生器(RNG)實例的方法,比呼叫其他任何函式都還多。先從一個簡單的函式 rng.random() 試跑看看。這個函式會回傳 0 到 1 之間的亂數。如果你多呼叫幾次 rng.random(),應該會看到數值在 0 到 1 之間跳動。

在這個練習中,我們會產生大量介於 0 到 1 的亂數,接著繪製結果的長條圖。如果這些數字真的是隨機的,長條圖中的每個柱子高度應該都(接近)相同。

你可能有注意到,在影片中,Justin 透過將關鍵字參數 size=4 傳給 rng.random() 來產生 4 個亂數。這種作法比用 for 迴圈更有效率;不過在本練習中,你會寫一個 for 迴圈,親身體會「駭客統計」如何透過重複實驗的方式來進行。

本練習屬於課程

Statistical Thinking in Python (Part 1)

檢視課程

練習說明

  • 使用種子 42 建立並設定一個亂數產生器 rng
  • 初始化一個含有 100,000 個元素的空陣列 random_numbers,用來儲存亂數。請務必使用 np.empty(100000) 完成這一步。
  • 撰寫一個 for 迴圈,利用 rng.random() 抽取 100,000 個亂數,並將它們存入陣列 random_numbers。請針對 range(100000) 進行迴圈。
  • 繪製 random_numbers 的長條圖。這裡不必標示座標軸,因為我們只是要檢查亂數產生器是否正常。按下 送出答案 來顯示你的圖表。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Instantiate and seed the random number generator


# Initialize random numbers: random_numbers
random_numbers = ____

# Generate random numbers by looping over range(100000)
for i in ____:
    random_numbers[i] = ____

# Plot a histogram
_ = plt.hist(____)

# Show the plot
plt.show()
編輯並執行程式碼