使用Pandas进行数据清洗

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

原文地址:https://www.cnblogs.com/dll102/p/12454428.html