pandas数据清理

在数据分析中,80%的时间是用于数据清理。

1.对于数值型数据,pandas用用浮点值NaN来表示缺失值,称之为标识符,这种值能被轻易检测到。

在pandas中,把缺失值表示NA

内建的python None也表示缺失值NA

import numpy as np
import pandas as pd

obj=pd.Series(['li','xun',np.nan,'big'])
print(obj)
print(obj.isnull())

obj[0]=None
print(obj.isnull())

#输出:
0     li
1    xun
2    NaN
3    big
dtype: object
0    False
1    False
2     True
3    False
dtype: bool
0     True
1    False
2     True
3    False
dtype: bool

2.过滤缺失值

过滤缺失值的一些方法。可以使用pandas的isnull来标记出数据的为True的 Boolean indexing,然后配合函数dropna.对于Series过滤,会返回它的非空数据和标签值index values

from numpy import nan as NA #相当于将np.nan重新命名为NA

obj1=pd.Series([1,NA,3,NA,5])
print(obj1)
print(obj1.dropna())

#输出:
0    1.0
1    NaN
2    3.0
3    NaN
4    5.0
dtype: float64
0    1.0
2    3.0
4    5.0
dtype: float64

上面等同于obj1[obj1.notnull()]

3.对于DataFrame,会想删除包含NA的rows 和columns。dropna会默认删除包含缺失值的row

data = pd.DataFrame([[1., 6.5, 3.], [1., NA, NA],
                     [NA, NA, NA], [NA, 6.5, 3.]])
print(data)
cleaned=data.dropna()
print(cleaned)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值