https://blog.csdn.net/CSDNXUXIAOYAO/article/details/98493012
df.dtypes 查看列数据类型
df.columns.values 查看列名
数据清洗主要分为三步:
重复值处理——删除(有几个相同就删除还是全部得相同)
缺失值处理——删除,填充(均值,众数,中位数,前后相邻值),插值(拉格朗日插值,牛顿插值)
异常值处理——describe进行描述性分析+散点图+箱型图定位异常值,处理方法:删除,视为缺失值
一、重复值处理
df[df.duplicated()] #列出重复的行
df1 = df.drop_duplicates() #删除重复列 赋值给新的dataframe
二、缺失值处理
查看是否有空值
df1[df1.isnull().values==True] #查看是否有控制
train[train['Alley'].isnull().values==True] 查看某字段是否有控制
手段1:删除
df1.dropna(axis=1, how='any', thresh=None, subset=None, inplace=False) #删除空值
df1.drop(df1[df1.CITY == '靖江'].index, inplace=True) ##删除指定条件的行
df1.drop(columns='WIND', inplace=True) #删除指定名称的列
手段2:填充
df1.loc[:,'DATE'] = df1['DATE'].fillna(method='ffill')
test['GrLivArea'] = test['GrLivArea'].fillna(0) 对某字段进行控制填充
三、离散值处理
train = train.drop(train[train['totalArea'] > 8000].index)
concat_data = pd.concat([train,test])
pd.concat