Pandas缺失值处理

判断数据是否为NaN:

pd.isnull(df),
pd.notnull(df)

判断缺失值是否存在

np.all(pd.notnull(data))  # 返回false代表有空值
np.any(pd.isnull(data))  #返回true代表有空值

处理方式:

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

    • 1、删除缺失值:dropna(axis='rows')

      • 注:不会修改原数据,需要接受返回值
    • 2、替换缺失值:fillna(value, inplace=True)

      • value:替换成的值
      • inplace:True:会修改原数据,False:不替换修改原数据,生成新的对象
# 替换存在缺失值的样本的两列
# 替换填充平均值,中位数
movie['Revenue (Millions)'].fillna(movie['Revenue (Millions)'].mean(), inplace=True)
  • 不是缺失值nan,有默认标记的
    • 将不是nan的值替换成np.nan——df.replace(to_replace,value)
      • to_replace- 替换前的值—被替换的
      • value—要修改成的值,上岗的值
      • 再按照是nan的方式处理
# 把一些其它值标记的缺失值,替换成np.nan
wis = wis.replace(to_replace='?', value=np.nan)

SSL报错

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

以上数据在读取时,可能会报如下错误:

URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)>

解决办法:

# 全局取消证书验证
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
posted @ 2019-09-09 18:44  太虚真人  阅读(341)  评论(0编辑  收藏  举报