一、数据治理定义
数据治理是一种组织数据管理的方法,涉及数据的收集、存储、处理、分析和共享等方面,旨在最大程度地利用数据资产并降低数据相关的风险。 数据治理确保数据的质量、安全性、合规性和可用性,以支持组织的决策和运营活动。
二、数据清洗定义
数据清洗是数据治理工作中的一项重要任务,旨在解决企业的数据质量历史遗留问题,如数据不一致、不完整、不合规和冗余等。 数据清洗通过设定特定的数据规则对混乱数据进行清洗和标准化。
三、数据治理和数据清洗的区别
数据治理主要是宏观上对数据进行管理,由国家或行业制定制度,具有稳定性。 数据治理涉及顶层设定,具有权威性,确保数据的整体质量和合规性。而数据清洗主要是微观上对数据进行清洗和标准化,规则由自己设定,随意性较强。 数据清洗更侧重于解决具体的数据质量问题。
四、数据清洗常用方法
1.数据质量问题一:数据中存在缺失值
下面以bbb.csv文件为例,介绍常用缺失值处理方法,该文件具体内容如下:
2.处理方法
(1)方法一:删除缺失值所在的行
def DelRowWithNull():
data = pd.read_csv('bbb.csv')
data.dropna(inplace=True)
return data
(2)方法二:填补缺失值
1)使用缺失值所在列临近值填补
# 使用缺失值上一行有效值填补
def FillingNullWithUpRow():
data = pd.read_csv('bbb.csv')
data.fillna(method='ffill',inplace=True)
return data
# 使用缺失值下一行有效值填补
def FillingNullWithDownRow():
data = pd.read_csv('bbb.csv')
data.fillna(method='bfill',inplace=True)
return data
2)使用该列平均值对空值进行填补(缺失值所在列类型为数值型)
def FillingNullWithColMean():
data = pd.read_csv('bbb.csv')
data.fillna(data.mean(),inplace=True)
return data
3)使用空值列中位数进行填补(缺失值所在列类型为数值型)
def FillingNullWithMedian():
data = pd.read_csv('bbb.csv')
data.fillna(data.median(),inplace=True)
return data
填补后的结果如下图:
4)使用空值所在列众数进行填补
def FillingNullWithMode():
data = pd.read_csv('bbb.csv')
data.fillna(data.mode().iloc[0], inplace=True)
return data
填补后的结果如下图:
5) 自定义填充
def FillingNullWithCustom(data):
data = pd.read_csv('bbb.csv')
data.fillna('-1', inplace=True)
return data
填补后的结果如下图所示:
6) 插值填充(缺失值必须为数值类型)
def FillingNullWithInsertVal(data):
data = pd.read_csv('bbb.csv')
data.interpolate(method='linear', limit_direction='forward', inplace=True)
return data
7)机器学习填充(缺失值必须为数值类型 或者 字符类型)
要使用该方法,必须确定缺失值所在列与其他某一列间存在某种联系。