阿摩線上測驗 登入

申論題資訊

試卷:104年 - 104年專業職一程式設計資訊系統開發與維護概要考古題#27923
科目:資訊系統開發與維護概要
年份:104年
排序:0

題組內容

請回答下列有關資料分析的問題:

申論題內容

(二)請列舉三項資料清理檢查的資料問題,並舉例說明。【9 分】

詳解 (共 1 筆)

詳解 提供者:hchungw
資料清理檢查的資料問題
資料清理過程中常見的資料問題有多種。以下列舉三項常見的資料問題,並分別舉例說明如何檢查和處理這些問題:
1. 缺失值(Missing Values)
說明
缺失值是資料集中某些欄位沒有值,這會影響分析結果的準確性和模型的性能。
檢查方法
使用統計方法計算每個欄位的缺失值數量。
生成缺失值矩陣圖視覺化資料缺失情況。
處理方法
刪除含有缺失值的記錄(適用於缺失值較少的情況)。
用均值、中位數、眾數或插補法填補缺失值。
例子
一個銷售資料集包含以下數據:
 
ID    Name       Sales    Region
1     Alice      1500     North
2     Bob        2300     South
3     Charlie    NaN      East
4     David      1800     NaN
檢查:使用 pandas 庫的 isnull().sum() 方法檢查缺失值。
處理:用銷售欄位的平均值填補 Charlie 的缺失值,用大多數記錄所在的地區填補 David 的地區。
python
複製程式碼
import pandas as pd
data = {'ID': [1, 2, 3, 4],
        'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Sales': [1500, 2300, None, 1800],
        'Region': ['North', 'South', 'East', None]}
df = pd.DataFrame(data)
# 檢查缺失值
print(df.isnull().sum())

填補缺失值
df['Sales'].fillna(df['Sales'].mean(), inplace=True)
df['Region'].fillna(df['Region'].mode()[0], inplace=True)
print(df)

 
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 工具檢查和處理這些常見的資料問題。