Python Pandas - 用眾數填充缺失列值
眾數是一組值中出現頻率最高的值。使用 fillna() 方法並將眾數設定為用眾數填充缺失列。一開始,讓我們使用各個別名匯入所需的庫,如下所示 −
import pandas as pd import numpy as np
建立一個包含 2 列的 DataFrame。我們使用 Numpy np.NaN 設定了 NaN 值,如下所示 −
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
}
)找到帶有 NaN 的列值的眾數,即本文中的 Units 列。使用 mode() 對 Units 列進行替換,其中 NaN 由它所在列的眾數替換 −
dataFrame.fillna(dataFrame['Units'].mode()[0], inplace = True)
示例
以下是完整程式碼 −
import pandas as pd
import numpy as np
# Create DataFrame
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
}
)
print"DataFrame ...\n",dataFrame
# finding mode of the column values with NaN i.e, for Units columns here
# Replace NaNs with the mode of the column where it is located
dataFrame.fillna(dataFrame['Units'].mode()[0], inplace = True)
print"\nUpdated Dataframe after filling NaN values with mode...\n",dataFrame輸出
這將產生以下輸出 −
DataFrame ... Car Units 0 BMW 100.0 1 Lexus 150.0 2 Lexus NaN 3 Mustang 80.0 4 Bentley NaN 5 Mustang NaN Updated Dataframe after filling NaN values with mode... Car Units 0 BMW 100.0 1 Lexus 150.0 2 Lexus 80.0 3 Mustang 80.0 4 Bentley 80.0 5 Mustang 80.0
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP