如何在 Python 中处理分类变量的缺失值

  • Post category:Python

在Python中,处理分类变量的缺失值可以参考以下步骤:

  1. 导入所需的库
import pandas as pd
import numpy as np
  1. 读取数据集
df = pd.read_csv('data.csv')
  1. 确定分类变量的特征名称
cat_features = ['Feature1', 'Feature2',...]
  1. 对于缺失值,我们有以下几种处理方式:

  2. 删除缺失值行

df.dropna(subset=cat_features, inplace=True)
  • 用众数来填充缺失值
df[cat_features] = df[cat_features].fillna(df[cat_features].mode().iloc[0])
  • 用“unknown”或“NA”等缺失值标识符来填充缺失值
df[cat_features] = df[cat_features].fillna('unknown')
  • 根据类别变量与其他特征之间的关系,填充缺失值

例如,如果我们有一个’Gender’特征,可以使用’mean’函数根据性别填充缺失值:

df['Age'] = df.groupby('Gender')['Age'].transform(lambda x : x.fillna(x.mean()))
  1. 打印出填充后缺失值的数量,确保所有缺失值都被处理掉了
print(df.isnull().sum())
  1. 可以根据需要重新保存填充好缺失值的数据集
df.to_csv('data_new.csv', index=False)

以上就是Python中处理分类变量的缺失值的常见方法。需要根据具体情况选择不同的方法来填充缺失值。