chapter.数据清洗1.1

在现实中通过各种方式收集到的数据并不都是完整或者说干净的,如何处理缺失值或者多余的数据尤为重要。
1.处理缺失值(部分一:查找和删除缺失值)
有时由于设备原因或者认为原因(没有录入或者故意隐藏数据),我们获取的部分数据可能是缺失值。这些缺失值对于数据分析而言是没有任何意义的,需要通过程序处理掉这些缺失值,以便下一步分析。
1.1查找缺失值
人工查看缺失值是很低效的,通过isnull和notnull方法,可以返回布尔值得对象。
例:创建有缺失值的数据

import pandas as pd
import numpy as np
from pandas import Series,DataFrame
from IPython.display import display
data=DataFrame([[1,2,np.nan],[20,21,np.nan],['李华','晓明','小刘']])
display(data)

在这里插入图片描述
使用isnull函数

import pandas as pd
import numpy as np
from pandas import Series,DataFrame
from IPython.display import display
data=DataFrame([[1,2,np.nan],[20,21,np.nan],['李华','晓明','小刘']])
display(data)
display(data.isnull())#True为缺失值
display(data.notnull())#False为缺失值

在这里插入图片描述
通过求和确定每列缺失的个数

import pandas as pd
import numpy as np
from pandas import Series,DataFrame
from IPython.display import display
data=DataFrame([[1,2,np.nan],[20,21,np.nan],['李华','晓明','小刘']])
display(data)
display(data.isnull().sum())

在这里插入图片描述
在通过求和确定可以获得整个数据中的缺失值数量。
在这里插入图片描述
通过info方法也可以看出数据中每列的缺失值。

import pandas as pd
import numpy as np
from pandas import Series,DataFrame
from IPython.display import display
data=DataFrame([[1,2,np.nan],[20,21,np.nan],['李华','晓明','小刘']])
display(data)
display(data.info())

在这里插入图片描述
1.2删除缺失值
1.2.1通过dropna方法可以删除缺失值的行
例:

import pandas as pd
import numpy as np
from pandas import Series,DataFrame
from IPython.display import display
data=DataFrame([[1,2,np.nan],[20,21,np.nan],['李华','晓明','小刘']])
display(data)
display(data.dropna())

在这里插入图片描述
例:

import pandas as pd
import numpy as np
from pandas import Series,DataFrame
from IPython.display import display
data=DataFrame(np.arange(12).reshape(3,4))
display(data)
#对数据进行处理,即创建一些为缺失值的数据
data.loc[1,:]=np.nan
data[2]=np.nan
display(data)

在这里插入图片描述
传入how='all’删除权威NaN的那些行
1.2.2如果要删除列指定轴方向即可

import pandas as pd
import numpy as np
from pandas import Series,DataFrame
from IPython.display import display
data=DataFrame(np.arange(12).reshape(3,4))
display(data)
#对数据进行处理,即创建一些为缺失值的数据
data.loc[1,:]=np.nan
data[2]=np.nan
display(data)
display(data.dropna(how='all'))
display(data.dropna(how='all',axis=1))#删除指定列

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值