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