Python Pandas – 用众数填充缺失的列值

Python Pandas – 用众数填充缺失的列值

众数是一组值中出现最多的值。使用 fillna() 方法并将众数设置为要填充众数的缺失列。首先,让我们导入所需的库及其别名 −

import pandas as pd
import numpy as np
Python

创建一个有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]
   }
)
Python

查找NaN值的列值的众数,即在此处的Units列。 使用Units列上的mode()替换缺失值的列的众数 –

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

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

示例

以下是完整的代码 –

import pandas as pd
import numpy as np

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

# 查找NaN值的列值的众数,即在此处的Units列
# 使用Units列上的mode()替换缺失值的列的众数
dataFrame.fillna(dataFrame['Units'].mode()[0], inplace = True)

print"\n在用众数填充NaN值后更新的DataFrame...\n",dataFrame
Python

输出结果

这将产生以下输出 –

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

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册