pandas - 缺失值处理

缺失值的处理逻辑

对于 NaN 的数据,在 pandas 中我们处理起来非常容易

判断数据是否为NaN:pd.isnull(df) 或者 pd.notnull(df)

处理方式:

存在缺失值 nan,并且是 np.nan

  • 删除
# pandas删除缺失值,使用dropna的前提是,缺失值的类型必须是np.nan
df.dropna()
  • 替换缺失值
# 替换存在缺失值的样本
# 替换?  填充平均值,中位数
df['Metascore'].fillna(df['Metascore'].mean(), inplace=True)

不是缺失值 nan,有默认标记的

数据是这样的:
pandas - 缺失值处理pandas - 缺失值处理

wis = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data")

处理思路分析:

  • 先替换‘?’为 np.nan
df.replace(to_replace=, value=)
  • 再进行缺失值的处理
# 把一些其它值标记的缺失值,替换成np.nan
wis = wis.replace(to_replace='?', value=np.nan)
wis.dropna()