基于pandas的数据清洗
空值、重复值、异常值
处理丢失的数据
- 有两种丢失数据
- None
- np.nan(NaN)
- 两种丢失数据的区别
type(None) # None对象类型
type(np.nan) # NAN浮点类型
- 为什么在数据分析中需要用到的是浮点类型的空而不是对象类型?
- 数据分析中会常常使用某些形式的运算来处理原始数据,若原数据中的空值为NAN形式,则不会干扰或者中断运算
- NAN可以参与运算
- None不可以参与运算
- 在pandas中若遇到了None形式的空值则pandas会将其强转成NAN的形式
# 伪造一组数据(存在空值)
df = DataFrame(data=np.random.randint(0, 100, size=(8, 6)))
df.iloc[2, 3] = None
df.iloc[4, 4] = np.nan
df.iloc[5, 2] = None
pandas处理空值操作
- isnull
- notnull
- any
- all
- dropna
- fillna
方式1:对空值进行过滤(删除空所在的行数据)
- 技术:isnull,notnull,any, all
df.isnull(