開始使用免費開始

用溫莎化處理離群值

給定一個包含兩個變數的 basetable"sum\_donations""donor\_id"。當捐款人有異常高額捐款時,"sum_donations" 可能出現離群值。因此,你想將此變數做溫莎化,將最高的 5% 金額以上位 5% 的百分位數值取代。

本練習屬於課程

Python 中級預測分析

檢視課程

練習說明

  • 印出 sum_donations 的最小值,並確認其至少為 0。接著印出 sum_donations 的最大值。
  • 填入合適的下界百分位數。因為所有大於 0 的數值都合理且常見,因此不需要將低於下界百分位數的數值替換。
  • 建立新變數「sum_donations_winsorized」,其為「sum_donations」的溫莎化版本。
  • 印出 sum_donations_winsorized 的最大值。

動手互動練習

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

from scipy.stats.mstats import winsorize

# Check minimum sum of donations
print(____["____"].____())
print(____["____"].____())

# Fill out the lower limit
lower_limit = ____

# Winsorize the variable sum_donations
basetable["sum_donations_winsorized"] = ____(____["____"], limits=[lower_limit, 0.05])

# Check maximum sum of donations after winsorization
print(____["____"].____())
編輯並執行程式碼