在Python中,使用Pandas库处理数据时,填充缺失值是一个常见的预处理步骤。以下是几种常用的方法来填充缺失值:
1. 使用`fillna()`函数:
import pandas as pdimport numpy as np读取数据集df = pd.read_csv('data.csv')使用固定值填充缺失值df.fillna(-9999, inplace=True)使用均值填充缺失值df.fillna(df.mean(), inplace=True)使用众数填充缺失值df.fillna(df.mode().iloc, inplace=True)使用前一个值填充缺失值df.fillna(method='pad', inplace=True)使用后一个值填充缺失值df.fillna(method='bfill', inplace=True)使用指定值填充缺失值df.fillna(0, inplace=True)
2. 使用`dropna()`函数删除含有缺失值的行或列:

删除包含任何缺失值的行df.dropna(axis=0, how='any', inplace=True)删除包含任何缺失值的列df.dropna(axis=1, how='any', inplace=True)删除包含所有缺失值的行df.dropna(axis=0, how='all', inplace=True)删除包含所有缺失值的列df.dropna(axis=1, how='all', inplace=True)
3. 使用插值法填充缺失值:
使用线性插值填充缺失值df.interpolate(inplace=True)
4. 使用机器学习模型进行填充,例如KNNImputer:
from sklearn.impute import KNNImputer初始化KNN填充器imputer = KNNImputer(n_neighbors=2)对数据集进行填充df_imputed = pd.DataFrame(imputer.fit_transform(df), columns=df.columns)
选择哪种方法取决于数据的性质和缺失值的情况。在实践中,可能需要尝试多种方法以找到最佳的填充策略。
