Python Pandas – 使用中位数填充缺失的列值

Python Pandas – 使用中位数填充缺失的列值

中位数将数据分为较高部分和较低部分。使用fillna()方法,并设置中位数以使用中位数填充丢失的列。首先,让我们使用它们各自的别名导入所需的库-

import pandas as pd
import numpy as np
Python

创建具有2列的DataFrame。我们使用Numpy设置了NaN值 np.NaN

dataFrame = pd.DataFrame(
   {
      "Car": ['Lexus', 'BMW', 'Audi', 'Bentley', 'Mustang', 'Tesla'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
   }
)
Python

找到具有NaN的列值的中位数,即此处的Units列。使用Units列上的median()替换该列所在位置的NaN –

dataFrame.fillna(dataFrame['Units'].median(), inplace = True)
Python

更多Pandas文章,请阅读:Pandas教程

示例

以下是代码 −

import pandas as pd
import numpy as np

# 创建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

# 找到具有NaN的列值的中位数,即此处的Units列。使用它所在的列的中位数替换NaN
dataFrame.fillna(dataFrame['Units'].median(), inplace = True)

print"\n将NaN值替换为中位数后的更新的DataFrame ...\n",dataFrame
Python

输出值

这将产生以下输出 –

DataFrame ...
       Car   Units
0    Lexus   100.0
1      BMW   150.0
2     Audi     NaN
3  Bentley    80.0
4  Mustang     NaN
5    Tesla     NaN

NaN值用中位数填充后的更新的DataFrame ...
       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
Python

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册