网站登录密码忘记怎么办,吉林seo技术交流,网络域名地址,我国的课程一般通过一、数据清洗的重要性#xff1a;数据质量决定分析成败
1.1 真实案例警示
电商平台事故#xff1a;2019年某电商大促期间#xff0c;因价格数据未清洗导致错误标价#xff0c;产生3000万元损失医疗数据分析#xff1a;未清洗的异常血压值#xff08;如300mmHg#xff…一、数据清洗的重要性数据质量决定分析成败
1.1 真实案例警示
电商平台事故2019年某电商大促期间因价格数据未清洗导致错误标价产生3000万元损失医疗数据分析未清洗的异常血压值如300mmHg导致疾病预测模型准确率下降27%金融风控失效重复借贷申请未去重造成1.2亿元坏账
1.2 数据质量问题 二、数据分析全流程与清洗定位
2.1 六步分析法清洗为核心
需求定义明确业务目标如用户流失分析数据采集数据库查询/API获取/日志收集数据清洗本阶段耗时占比达60-70%探索分析统计描述与可视化建模分析构建预测模型报告输出制作可视化看板
2.2 清洗流程标准化 企业级处理流程 三、Python数据清洗核心函数详解
3.1 Pandas清洗工具箱
# 缺失值处理
df.dropna(subset[关键字段]) # 删除关键字段缺失行
df[年龄].fillna(df[年龄].median(), inplaceTrue) # 中位数填充# 重复值处理
df.drop_duplicates(subset[订单ID], keeplast) # 保留最新记录# 异常值处理
df df[(df[销售额] 0) (df[销售额] 1e6)] # 合理范围过滤# 格式转换
df[日期] pd.to_datetime(df[日期], errorscoerce) # 强制日期格式3.2 高级清洗技巧
# 跨字段逻辑校验
df df[~(df[会员等级] 黄金会员) (df[累计消费] 5000)] # 剔除矛盾数据# 文本清洗
df[地址] df[地址].str.replace(r\s, ) # 去除空白字符
df[手机号] df[手机号].str.extract(r(\d{11}))[0] # 提取有效号码# 分类型数据处理
df[年龄段] pd.cut(df[年龄], bins[0,18,30,50,100],labels[未成年,青年,中年,老年])四、电商数据清洗实战案例
4.1 原始数据样例
id: raw_data_sample
name: 原始数据示例
type: code.python
content: |-raw_data [{order_id: A1001, user_id: 101, amount: 150.0, date: 2023-02-30},{order_id: A1001, user_id: 101, amount: -150.0, date: 2023/02/28},{order_id: A1002, user_id: None, amount: 300.0, date: 2023-03-01},{order_id: A1003, user_id: 103, amount: 二百元, date: 2023-03-02}]4.2 分步清洗演示
# 步骤1加载数据
import pandas as pd
df pd.DataFrame(raw_data)# 步骤2处理重复订单
print(f清洗前数据量{len(df)})
df df.drop_duplicates(subset[order_id], keeplast)# 步骤3修复日期格式
df[date] pd.to_datetime(df[date], errorscoerce)
df df[df[date].notnull()]# 步骤4校验金额字段
df[amount] pd.to_numeric(df[amount], errorscoerce)
df df[(df[amount] 0) (df[amount] 10000)]# 步骤5处理用户缺失
df[user_id] df[user_id].fillna(0).astype(int)print(f清洗后有效数据{len(df)})
print(df)4.3 清洗效果对比 五、数据清洗最佳实践
5.1 标准化检查清单
完整性检查关键字段缺失率5%一致性验证时间顺序逻辑正确格式标准化统一日期/数值格式业务规则校验符合业务逻辑约束
5.2 常见错误预防
不要直接修改原始数据始终保留原始副本建立数据血缘追踪记录每次清洗操作自动化测试案例验证清洗规则的准确性
# 单元测试示例
def test_phone_format():test_data pd.Series([138-1234-5678, abc123])cleaned test_data.str.replace(r\D, )assert cleaned[0] 13812345678assert pd.isna(cleaned[1])工具推荐 数据质量检测库Great Expectations自动化清洗框架PySpark可视化工具Dataiku 通过系统化的数据清洗可使分析结果可靠性提升40%以上。记住垃圾数据进垃圾结论出清洗是数据价值挖掘的第一道防线。 若教眼底无离恨不信人间有白头。 —辛弃疾