Python数据预处理

检查数据

  1. 空值检查
#查看数据是否有空 notnull
df.isnull().sum()#每一列的缺失值总和
df.isnull().any()#检查哪一列有空值
df[df.isnull().values==True]#显示有空值的行
  1. 整体情况
#查看行是否有重复
df.duplicated()
#查看整个表结构
df.info()
#查看数据基本情况,平均值,最大值等
df.describe()
#查看每列数据类型
df.dtypes
  1. 其他
#唯一值与计数
df.apply(pd.Series.value_counts)
#取列
df["a"]#Series
df[["a"]]#DataFrame

数据清洗

1.替换删除
替换

df.replace('--',np.nan)#数据替换
df.replace({"英语":"作弊"},0)#将英语列中的作弊替换为0
df.replace({"英语","语文"},{"English","Chinese"})#将英语,语文替换为"English","Chinese"

删除

df.apply(lambda x:x.strip())#去除空格
df.astype(str).strip()
#重复
df.drop_duplicates(keep='first').reset_index  #两行相同时保留第一行
df.drop_duplicates(['value1'],keep='last')#value1列相同则去重复
#nan
df.dropna(axis=0,thresh=4,inplace=True )#删除非nan的数量小于4的行
df.dropna(how='all',axis=1)#删除所有值为nan的列
df.dropna(how='any',axis=0)#删除有nan的行
#增删
df.loc['d']=[2,2,2]#增加行,直接方法
df = df.append(df2)#直接在下面拼接,增加行
df['four']=6#增加列,自动长度匹配
df.assign(ln_one = lambda x: np.log(x.one), abs_two = lambda x: np.abs(x.two))#按指定要求增加列

df.drop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值