在Python中,处理数据集中的缺失值通常使用Pandas库,它提供了多种方法来填充缺失值。以下是一些常见的方法:
使用固定值填充
import pandas as pdimport numpy as np创建一个含有缺失值的DataFramedata = pd.DataFrame([[1, np.nan, 3], [np.nan, 5, np.nan]], columns=['a', 'b', 'c'])使用固定值填充缺失值data.fillna(0, inplace=True) 用0替换缺失值print(data)
使用均值或中位数填充
使用均值填充数值型特征的缺失值data.fillna(data.mean(), inplace=True)print(data)
使用众数填充
使用众数填充数值型特征的缺失值data.fillna(data.mode().iloc, inplace=True)print(data)
使用前一个或后一个值填充
使用前一个值填充data.fillna(method='ffill', inplace=True)print(data)使用后一个值填充data.fillna(method='bfill', inplace=True)print(data)
使用插值法填充
使用线性插值法填充data.interpolate(inplace=True)print(data)
使用KNN填充
from fancyimpute import KNN创建一个含有缺失值的DataFramedata = pd.DataFrame([[1, np.nan, 3], [np.nan, 5, np.nan]], columns=['a', 'b', 'c'])使用KNN填充缺失值data_knn_imputed = KNN(k=5).fit_transform(data)print(data_knn_imputed)
使用条件逻辑填充
使用条件逻辑填充缺失值data.loc[data['b'] == 5, 'c'] = 'disconnect'print(data)
选择哪种方法取决于数据的性质和缺失值的情况。在处理缺失值时,请确保理解每种方法的适用性和潜在影响。

