Python Pandas - 用中位数填充缺失的列值
中位数将数据的上半部分与下半部分分开。使用该fillna()方法并设置中位数以使用中位数填充缺失的列。首先,让我们使用各自的别名导入所需的库-
import pandas as pd import numpy as np
创建一个包含2列的DataFrame。我们已经使用Numpynp.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()单位列将NaN替换为其所在列的中位数-
dataFrame.fillna(dataFrame['Units'].median(), inplace = True)
示例
以下是代码-
import pandas as pd import numpy as np #创建数据帧 dataFrame = pd.DataFrame( { "Car": ['Lexus', 'BMW', 'Audi', 'Bentley', 'Mustang', 'Tesla'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN] } ) print"DataFrame ...\n",dataFrame #使用NaN查找列值的中位数,即此处的Units列 #用它所在列的中位数替换NaNs 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