2. 異常值(Outliers)
說明
異常值是指明顯偏離其他數據點的數據,可能是由於錯誤或特殊情況引起的,會影響統計分析和模型的準確性。
檢查方法
使用統計方法,如標準差、四分位距(IQR)檢測異常值。
使用視覺化方法,如箱線圖(Box Plot)或散點圖(Scatter Plot)。
處理方法
刪除異常值。
根據業務規則轉換異常值。
使用插補法處理異常值。
例子
一個收入資料集包含以下數據:
複製程式碼
ID Name Income
1 Alice 50000
2 Bob 55000
3 Charlie 1200000
4 David 60000
檢查:使用箱線圖檢測異常值。
處理:根據業務規則認為超過 100000 的收入是異常值,可以將其刪除或用合理的值代替。
python
複製程式碼
import pandas as pd
import numpy as np
data = {'ID': [1, 2, 3, 4],
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Income': [50000, 55000, 1200000, 60000]}
df = pd.DataFrame(data)
# 檢查異常值
print(df.describe())
# 畫箱線圖檢測異常值
df.boxplot(column='Income')
# 處理異常值:將收入超過 100000 的異常值替換為中位數
median_income = df['Income'].median()
df['Income'] = np.where(df['Income'] > 100000, median_income, df['Income'])
print(df)
3. 重複值(Duplicate Values)
說明
重複值是指數據集中存在重複的記錄,這會導致分析結果的偏差和冗餘存儲。
檢查方法
使用資料框架的 duplicated() 方法檢查重複值。
處理方法
刪除重複的記錄。
例子
一個顧客資料集包含以下數據:
graphql
複製程式碼
ID Name Email
1 Alice alice@example.com
2 Bob bob@example.com
3 Alice alice@example.com
4 David david@example.com
檢查:使用 duplicated() 方法檢查重複值。
處理:刪除重複的記錄。
python
複製程式碼
import pandas as pd
data = {'ID': [1, 2, 3, 4],
'Name': ['Alice', 'Bob', 'Alice', 'David'],
'Email': ['alice@example.com', 'bob@example.com', 'alice@example.com', 'david@example.com']}
df = pd.DataFrame(data)
# 檢查重複值
print(df.duplicated())
刪除重複值
df.drop_duplicates(inplace=True)
print(df)
資料清理是資料分析過程中的關鍵步驟,通過檢查和處理缺失值、異常值和重複值,可以提高資料質量,確保後續分析的準確性和可靠性。上述例子展示了如何使用 Python 工具檢查和處理這些常見的資料問題。