pandas入门(六):数据清理

在进行数据分析时,需要在使用算法之前对数据进行处理。 pandas 也自带这个功能,里面的东西很多。这里的重点介绍是数据重复和缺失数据。

数据重复

在进行数据处理时,重复数据会影响数据分析的准确性。 pandas 可以用duplicated检查数据是否重复。

>>> df = pd.read_excel(r'D:\work\course.xls')
>>> print df
    语文  数学  英语   物理
张三  98  89  95  100
李四  67  84  76   56
王五  87  84  83   80
张三  98  89  95  100
>>> df.duplicated()
张三    False
李四    False
王五    False
张三     True
dtype: bool
>>>

这里读取学生的成绩单,用pandas判断数据是否重复。发现第四行的张三出现的数据和第一行的数据一样。生成重复数据。

对于重复数据,一个简单的解决方法是直接删除重复数据,drop_duplicates可以直接删除重复数据。

>>> df.drop_duplicates(inplace = True)
>>> print df
    语文  数学  英语   物理
张三  98  89  95  100
李四  67  84  76   56
王五  87  84  83   80
>>> df.duplicated()
张三    False
李四    False
王五    False
dtype: bool
>>>

缺失数据

当我们获取数据时,可能会丢失一些数据。比如注册的时候,有些信息是不需要填写的,这时候我们需要先处理这些缺失的部分,否则会出现计算错误,或者无法使用。算法。

检查缺失部件的数据。 isnull判断是否缺失。

>>> print df
    语文    数学  英语   物理
张三  98  89.0  95  100
李四  67  84.0  76   56
王五  87   NaN  83   80
>>> df.isnull()
       语文     数学     英语     物理
张三  False  False  False  False
李四  False  False  False  False
王五  False   True  False  False
>>>

可见,王舞数学没有成绩。如果我们找到丢失的部分,我们需要处理他。处理方式有多种,如:删除王舞的所有数据。

>>> df.dropna()
    语文    数学  英语   物理
张三  98  89.0  95  100
李四  67  84.0  76   56
>>>

删除所有数学成绩:

>>> df.drop('数学', axis = 1)
    语文  英语   物理
张三  98  95  100
李四  67  76   56
王五  87  83   80
>>>

填充现有数据:

>>> df = pd.read_excel(r'D:\work\course.xls')
>>> df.fillna(method = 'ffill')
    语文    数学  英语   物理
张三  98  89.0  95  100
李四  67  84.0  76   56
王五  87  84.0  83   80
>>>

pandas入门专栏

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年4月9日 下午2:52
下一篇 2022年4月9日 下午3:01

相关推荐