缺失值处理
replace 数据的替换
dropna 缺失值的删除
fillna 缺失值的填充
isnull 判断是否有缺失数据NaN
1.读取文件
import pandas as pd
data=pd.read_csv("./IMDB-Movie-Data.csv")
判断数据是否是缺失值,返回True或者False
pd.isnull(data)
判断是否所有数据都没有缺失值,返回True或者False
import numpy as np
np.all(pd.notnull(data))
删除缺失值为nan的数据
data.dropna() #dropna只能在缺失值是Nan的时候使用
用均值替换缺失值
for i in data.columns:
if np.all(pd.notnull(data[i]))==False:
# print(i)
data[i].fillna(data[i].mean(),inplace=True) #用均值替换缺失值
data
把一些其它值标记的缺失值,替换成np.nan
df.replace(to_replace=, value=)
to_replace:替换前的值
value:替换后的值
示例:将"?"替换成Nan
data = data.replace(to_replace='?', value=np.nan)
读取:
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