在进行数据分析时,需要在使用算法之前对数据进行处理。 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入门专栏
文章出处登录后可见!
已经登录?立即刷新