CC00043.python——|Hadoop&Python.v07|——|Arithmetic.v07|Pandas数据分析库:Pandas数据清洗|

一、数据清洗
### --- 数据清洗

import numpy as np
import pandas as pd
df = pd.DataFrame(data = {'color':
['red','blue','red','green','blue',None,'red'],
                          'price':[10,20,10,15,20,0,np.NaN]})
# 1、重复数据过滤
df.duplicated()                                                     # 判断是否存在重复数据
df.drop_duplicates()                                                # 删除重复数据

# 2、空数据过滤
df.isnull()                                                         # 判断是否存在空数据,存在返回True,否则返回False
df.dropna(how = 'any')                                              # 删除空数据
df.fillna(value=1111)                                               # 填充空数据

# 3、指定⾏或者列过滤
del df['color']                                                     # 直接删除某列
df.drop(labels = ['price'],axis = 1)                                # 删除指定列
df.drop(labels = [0,1,5],axis = 0)                                  # 删除指定⾏

# 4、函数filter使⽤
df = pd.DataFrame(np.array(([3,7,1], [2, 8, 256])),
                  index=['dog', 'cat'],
                  columns=['China', 'America', 'France'])
df.filter(items=['China', 'France'])
# 根据正则表达式删选列标签
df.filter(regex='a$', axis=1)
# 选择⾏中包含og
df.filter(like='og', axis=0)

# 5、异常值过滤
df2 = pd.DataFrame(data = np.random.randn(10000,3))                 # 正态分布数据
# 3σ过滤异常值,σ即是标准差
cond = (df2 > 3*df2.std()).any(axis = 1)
index = df2[cond].index                                             # 不满⾜条件的⾏索引
df2.drop(labels=index,axis = 0)                                     # 根据⾏索引,进⾏数据删除
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值