Python Pandas - 使用中位數填補缺失列值
中位數將資料的高半部分與低半部分分開。使用 fillna() 方法並將中位數設定為用中位數填充缺失列。首先,讓我們使用各自的別名匯入所需的庫 -
import pandas as pd import numpy as np
建立一個具有 2 列的 DataFrame。我們使用 Numpy np.NaN 設定 NaN 值 -
dataFrame = pd.DataFrame(
{
"Car": ['Lexus', 'BMW', 'Audi', 'Bentley', 'Mustang', 'Tesla'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
}
)查詢具有 NaN 的列值的均值,即此處為 Units 列。使用 median() 在 Units 列中,用所在列的中位數替換 NaN -
dataFrame.fillna(dataFrame['Units'].median(), inplace = True)
示例
以下是程式碼 -
import pandas as pd
import numpy as np
# Create DataFrame
dataFrame = pd.DataFrame(
{
"Car": ['Lexus', 'BMW', 'Audi', 'Bentley', 'Mustang', 'Tesla'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
}
)
print"DataFrame ...\n",dataFrame
# finding median of the column values with NaN i.e, for Units columns here
# Replace NaNs with the median of the column where it is located
dataFrame.fillna(dataFrame['Units'].median(), inplace = True)
print"\nUpdated Dataframe after filling NaN values with median...\n",dataFrame輸出
這將產生以下輸出 -
DataFrame ... Car Units 0 Lexus 100.0 1 BMW 150.0 2 Audi NaN 3 Bentley 80.0 4 Mustang NaN 5 Tesla NaN Updated Dataframe after filling NaN values with median... Car Units 0 Lexus 100.0 1 BMW 150.0 2 Audi 100.0 3 Bentley 80.0 4 Mustang 100.0 5 Tesla 100.0
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP