做数据分析很大一部分工作量都是在对数据处理,因为数据来源的质量问题,不能保证所有的数据都是正常的。对于数据分析和处理来说pandas无疑是常用的利器。下面通过一个实例来用pandas对波形异常数据进行实战处理。
读取数据
| 1 | import numpy as np | 

从csv导入的数据是文本字符串类型的,用《Python将列表中的数据写入csv并正确读取解析》中介绍的方法将文本数据转成列表。
| 1 | def str2list(str): | 

用plt查看图形
| 1 | fig,axes = plt.subplots(3,4,figsize=(12,4)) | 

从图形上看出现了异常。我们抽一个数据进行查看,发现前后有很多空值,并且在数据中也存在缺失值。
| 1 | df_data['HRTrend'][0] | 

| 1 | plt.plot(df_data['HRTrend'][0]) | 

用plt画出图形,可以看到因为有缺失值所以图形并不连续。
异常数据处理
为了更好的展示图像,为以后的数据分析准备数据,我们需要将前后的空值去掉,对于中间存在的异常值我们可以用前值或后值进行填充。
| 1 | # 定义一个方法,先将空值用0填充,然后去首尾的0,再将中间存在异常的值用前值填充。 | 
| 1 | fig,axes = plt.subplots(3,4,figsize=(12,4)) | 

最后可以发现经过异常值修复后图形变得正常连续了。
博客地址:http://xiejava.ishareread.com/
 
 
关注:微信公众号,一起学习成长!