今天,让我们一起了解数据清洗的概念、常见问题及实践方法。
以下几个标准有助于定义高质量数据的标准,它们分别是:
准确性:数据与标准值或真实值的接近程度
完整性:数据属性和数据记录是完整的
可追溯性:能够查找(和访问)到数据源
及时性:数据更新的速度有多快,有多及时
这些不同的特征结合起来可以帮助企业拥有高质量的数据并可用于各种不同业务目标,同时对不确定数据的假设量达到最少。
数据可以说是企业用于支持和指导其业务成功的最重要资产之一,不准确的数据可能会导致的一些问题包括:
企业如果有干净的数据,那么所有这些问题都可以避免!
数据清洗的好处
这些不同的好处结合起来,通常会使企业的业务获得更大程度的改善,这不仅能够让外部销售业务变得更有效,还能够提供更高效的内部管理和运营。
1.计算缺失比例
首先,我们可以计算每个字段的缺失值比例,然后根据比例和字段的重要性设置不同的策略。
2.删除不重要或缺失率过高的数据
如果数据不重要或者缺失率过高,我们可以直接删除字段。
3.填充缺失数据
对于重要数据或缺失率较低的数据,我们可以使用以下三种方法来填补数据:
a.根据业务知识或过往经验给出推测填充
b.利用同一指标数据计算结果(如均值、中位数等)填充
c.利用不同指标数据推算结果填充,例如用身份证信息可以揭示年龄等信息。
4.重新获得数据
对于某些缺失率高,且缺失值被认为非常重要的数据,我们可以与业务人员合作,探讨其他渠道重新获得数据的可能性,例如某些数据可能可以通过另一个数据库或API得到。
在处理数据值不匹配问题时,需要采用一些常规的清洗方法,并结合具体情况采用人工处理等方法,最终保证数据的准确性和完整性。以下是处理此类问题的两种方法:
1.清洗内容中有不合逻辑的字符
2.内容和该字段应有内容不符
在处理数据中出现内容和字段不匹配的情况时,需要采用详细识别、分类处理问题的方法。这部分的处理往往需要人工处理,尽量细致地检查,避免遗漏或误删。处理方法包括:
b.对于乱码等无法处理的问题,除了删除外,也可以先进行分类,再人工处理,提高清洗的效率和准确性。
处理重复数据需要根据具体情况来选择合适的方法。除了使用现有的数据清洗工具外,还需要结合业务规则和数据特点来进行合理的数据清洗操作。以下是处理重复数据的方法:
1.数据值完全相同的多条数据记录
对于值完全相同的数据,可以使用一些去重工具自动识别和删除重复的数据行。例如,可以使用帆软FDL等数据清洗工具进行去重操作。
2.数据主体相同,但一个属性匹配到不同的多个值
对于这种情况,可以选择通过合并多列数据来实现去重。例如,可以选择使用GROUPBY的SQL语句,将相同的记录合并在一起,或者通过编写脚本来筛选出相同的唯一记录。
需要注意的是,有些情况下可能不应该对重复记录进行去重操作。以下是几种情况:
a.重复记录用于分析演变规律
在分析数据变化历史时,重复记录是有用的,因为它们可以显示系统迭代更新时的数据变化。
b.重复的记录用于样本不均衡处理
在数据分析中,有时需要处理样本不均衡的情况。在这种情况下,重复记录可以用于增加少数类样本,从而获得更准确的数据分析结果。
c.重复的记录用于检测业务规则问题
在检测业务规则问题时,重复记录可以反映业务规则的缺陷和不足。在此情况下,需要人工验证每个记录是否有效,查看是否存在业务规则的漏洞。
处理数据不合理的问题需要使用不同的方法分析和清洗:
1.分箱
2.聚类
聚类是一种无监督学习方法,可以将数据集中的相似数据分成不同的集群。可以使用聚类来发现不同的数据群体,并查找其中的异常值/不合理值。
3.回归
需要注意的是,分析数据不合理值通常需要利用统计方法,找出数据中明显偏离正常分布范围的数据点,并考虑其异常性和实际业务情况,进行人工处理。和其他数据清洗操作类似,清洗过程也需要考虑业务逻辑,利用各种方法尽可能地提高准确率和效率。
在进行数据字段格式处理时,必须考虑到业务需要和数据质量要求,并同时验证清洗的有效性。以下是解决此类问题的方法:
1.确定正确的数据字段格式
2.清洗文本格式
对于文本字段,应该去除多余的空格、特殊字符、标点符号和其他格式问题。比较常见的文本清洗包括去掉HTML标记、转换大小写、识别并转换URL等。
3.数据类型转换
首先必须要了解大多数错误发生的位置,以便确定根本原因并构建管理数据的计划。
请记住,有效的数据清洗将会对整个企业产生全面的影响,因此尽可能保持开放和沟通是非常重要的。
数据清洗计划需要包括:
如果一些重复项确实是无意中重复输入的,请确保主动检测出并删除它们。删除所有重复的条目后,还必须考虑以下事项:
完成这5个步骤后,您的数据将可以根据需要进行导出和分析。
请记住,对于大型数据集,几乎不可能实现100%的清洁度。
1、以尽可能全面的方式考虑您的数据,不仅要考虑谁来进行分析,还要考虑谁将使用,从数据中分析得出的结果。
2、增加对数据库输入的控制可确保系统最终使用的数据更加清洁。
3、选择能够在出现问题之前可以提醒甚至解决错误数据的技术解决方案。