使用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

posted @   一只竹节虫  阅读(306)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示