数据清洗是从事数据分析的重要一环,它指的是通过处理和修正不符合预期、不完整或错误的数据来提高数据的质量和准确性。常用的数据清洗方法有数据去重、缺失值处理、异常值处理、格式转化等。
第一步 数据预处理
首先对数据进行加载、导入、预览和初步分析。了解数据来源,对数据的认识和了解,可以更好地判断数据质量问题并采取相应的处理方法。我们的数据来源主要为tushare、akshare和爬虫。数据代码详见数据文件夹“数据存储到mysql>spider code”,其中tushare的token为"7c5fd48b6b3b16df637935ed8f740438b3e57e72b02e52fc468f02d9",代码输出字段与服务器上的mysql存储字段一致,代码输出的字段为英文名称,可参照服务器字段名称的Function.py文件。
第二步 数据去重
数据预处理之后,应该首先去除重复数据,去重可以减少干扰和噪声,提高数据分析的可靠性和效率。
常用去重函数如下:
去重drop_duplicate()函数
"""
df.drop_duplicates(subset=None,keep='first',inplace=False)
参数说明:
1.subset:根据指定的列名进行去重,默认整个数据集。
2.keep:可选{‘first’, ‘last’, False},默认first,即默认保留第一次出现的重复值,
并删去其他重复的数据,False是指删去所有重复数据。
3.inplace:默认为False,是否对数据集本身进行修改。
"""
df1.drop_duplicates(subset=['股票代码','交易日期'],keep='first',inplace=True)
print(df1)
第三步 缺失值处理
获取的数据中难免会存在缺失值,首先我们要明确数据是否存在缺失值,数据缺失值统计常用方法:
数据缺失值统计
print(df.info())
# 用isnull()函数找缺失值,False表示非缺失值,True表示缺失值。反向函数是notnull。
print(df.isnull())
print(df.isnull().sum())
通过统计缺失值,我们可以初步分析数据中缺失的类型,通过判断数据中缺失值的类型,我们可以对数据进行缺失值处理,常用方法:删除含有缺失值的行/列、用
本主题为课程学员专享,成为股票量化投资课程学员后可免费阅读
成为学员