大多数情况下,格式错误、空值还是比较容易能看出来的,但如果数据不合理、或者数据集非常大肉眼不方便观察,那么就需要策略帮我们筛选,这就需要python程序介入筛选。
1.按条件修改
比如我们的天气数据,如果某一列,就比如wind_power风力这列,如果出现100以上的数字,那么很明显是数值错误了(录入错误、或某种原因导致)这种情况我们最好的办法就是程序设定范围进行筛选,我们可以这样写:
import pandas as pd
df=pd.read_csv('dotcpp.csv')
for i in df.index:
if df.loc[i,'wind_power']>100:
df.loc[i,'wind_power']=17代码的逻辑是这样,利用循环,对可能有问题的某一列进行筛选,这里是大于100(因为风力最大就十几级)那么就可以断定这个数值是有问题的,我们就给他设定为17级!
2.删除错误行
更简单的,如果对于某列的数据觉得太离谱没有必要修改,那么可以直接删除该行,方法是使用drop函数进行删除,可以这样写:
import pandas as pd
df=pd.read_csv('dotcpp.csv')
for i in df.index:
if df.loc[i,'wind_power']>100:
df.drop(i,inplace=True)3.删除多行数据
如果看到多行数据都有问题,那么可以一次性删除多行
import pandas as pd
df=pd.read_csv('dotcpp.csv')
df.drop(df.index[0:5],inplace=True)
print(df)这里利用切片直接删除前五行,运行后如下:

4.修改指定位置内容
如果肉眼已经看到或者已知某个数据有问题,我们也可以直接指定修改:
import pandas as pd
df=pd.read_csv('dotcpp.csv')
df.loc[17,'city']='nantong'
print(df)即使用loc函数指定第17行,'city'列为nantong,执行后输出更改后效果:

以上多种子情况,大家先上机试验,掌握后根据实际需要即可随意使用~
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程