1. 如附圖所示為 Python 程式碼進行遺缺值(Missing Values) 處理的範例,其執行結果下列哪一項正確?
(A) [25.0, 25.0, 25.0, 25.0, 25.0]
(B) [20.0, 25.0, 25.0, 30.0, 25.0]
(C) [20, None, 25, 30, None]
(D) [25.0, 25.0, 25.0]
(A) [25.0, 25.0, 25.0, 25.0, 25.0]
(B) [20.0, 25.0, 25.0, 30.0, 25.0]
(C) [20, None, 25, 30, None]
(D) [25.0, 25.0, 25.0]
答案:登入後查看
統計: A(1), B(15), C(6), D(1), E(0) #3323431
統計: A(1), B(15), C(6), D(1), E(0) #3323431
詳解 (共 2 筆)
#6324606
這段 Python 程式碼的主要功能是使用 Pandas 庫來處理遺缺值(Missing Values)。我們可以一步步分析其執行結果:
程式碼解釋
-
建立 DataFrame
pythonㅤㅤdata = { 'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'], 'age': [20, None, 25, 30, None] } df = pd.DataFrame(data)這段程式碼建立了一個包含姓名 (name) 和年齡 (age) 的 DataFrame,其中 None 代表遺缺值。
-
計算 age 欄位的中位數
python複製編輯median_age = df['age'].median()df['age'].median() 會計算年齡的中位數(忽略 None 值)。
- age 欄位的有效數值為 [20, 25, 30],其中位數為 25.0。
-
用中位數填補缺失值
python複製編輯df['age'].fillna(median_age, inplace=True)- fillna(median_age, inplace=True) 會將 None 取代為 25.0。
-
輸出結果
python複製編輯print(list(df['age'].values))- df['age'].values 轉換為 list 後輸出,最終結果為:
python複製編輯[20.0, 25.0, 25.0, 30.0, 25.0]
- df['age'].values 轉換為 list 後輸出,最終結果為:
執行結果
python
複製編輯
[20.0, 25.0, 25.0, 30.0, 25.0]
原先 None 的位置 (Bob 和 Emily) 都被填上 25.0,即 age 欄位的中位數。
這段程式碼成功地使用 中位數 (median) 來填補遺缺值,以確保數據的一致性並減少遺漏值對分析的影響。
0
0