資料清洗與預處理:使用 Python Pandas 庫
1. 簡介
資料清洗與預處理是資料科學和機器學習中必不可少的步驟。它涉及識別和處理原始資料中的錯誤、不一致和缺失值,以確保資料的質量和可靠性。Python 的 Pandas 庫提供了強大的工具,簡化了資料清洗和預處理的過程。
2. 資料載入與探索
- 使用
pd.read_csv()
或pd.read_excel()
函式載入資料。 - 使用
df.head()
,df.tail()
,df.info()
和df.describe()
函式探索資料結構和統計資訊。
3. 缺失值處理
- 使用
df.isnull().sum()
統計缺失值數量。 - 採用以下方法處理缺失值:
- 刪除包含缺失值的記錄:
df.dropna()
- 使用平均值、中位數或眾數填充缺失值:
df.fillna(value)
- 使用線性插值或其他插值方法填充缺失值:
df.interpolate()
- 刪除包含缺失值的記錄:
4. 錯誤值處理
- 使用
df.duplicated()
檢測重複值並使用df.drop_duplicates()
刪除重複值。 - 使用正規表示式或自定義函式驗證資料型別和範圍。
- 識別並糾正錯誤值,例如:
- 使用
df.replace()
替換錯誤值。 - 使用自定義函式進行資料轉換和清洗。
- 使用
5. 資料格式化與轉換
- 使用
df.astype()
轉換資料型別。 - 使用
pd.to_datetime()
轉換日期格式。 - 使用
pd.cut()
將數值資料分箱。 - 使用
df.apply()
或df.transform()
對資料進行自定義操作。
6. 特徵工程
- 建立新的特徵來豐富資料。
- 使用
df.groupby()
和df.agg()
計算聚合特徵。 - 使用
pd.get_dummies()
或OneHotEncoder
對分類特徵進行編碼。
7. 資料儲存與匯出
- 使用
df.to_csv()
或df.to_excel()
儲存處理後的資料。
8. 示例程式碼
import pandas as pd
# 載入資料
df = pd.read_csv('data.csv')
# 探索資料
print(df.head())
print(df.info())
# 處理缺失值
df.fillna(df.mean(), inplace=True)
# 刪除重複值
df.drop_duplicates(inplace=True)
# 建立新的特徵
df['new_feature'] = df['feature1'] * df['feature2']
# 儲存資料
df.to_csv('cleaned_data.csv', index=False)
9. 結論
資料清洗與預處理是資料分析和機器學習中至關重要的步驟。使用 Python Pandas 庫,我們可以高效地處理資料質量問題,為後續分析和建模奠定堅實基礎。