<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>数据加工 on 老张开工了</title>
    <link>/%E6%95%B0%E6%8D%AE%E5%8A%A0%E5%B7%A5/</link>
    <description>Recent content in 数据加工 on 老张开工了</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sun, 05 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="/%E6%95%B0%E6%8D%AE%E5%8A%A0%E5%B7%A5/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>数据转换（Transform）：清洗与加工</title>
      <link>/posts/2026/04/etl-transform/</link>
      <pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate>
      <guid>/posts/2026/04/etl-transform/</guid>
      <description>Transform：ETL 的核心环节 如果说抽取是&amp;quot;采购食材&amp;quot;，加载是&amp;quot;摆盘上桌&amp;quot;，那么转换就是整个 ETL 流程中的&amp;quot;烹饪&amp;quot;环节。这也是数据工程师投入精力最多、代码量最大的部分。&#xA;原始数据通常充满了各种问题：字段缺失、格式不统一、存在重复记录、数值异常等等。转换环节的目标就是把这些&amp;quot;脏数据&amp;quot;变成干净、一致、可分析的高质量数据。毫不夸张地说，一个 ETL 流程的质量高低，几乎完全取决于转换环节做得怎么样。&#xA;常见的数据质量问题 在实际项目中，我们经常遇到以下几类数据质量问题：&#xA;缺失值 数据集中某些字段为空，这是最常见的问题。缺失的原因可能是源系统没有采集到、传输过程中丢失、或者该字段本身就不适用。&#xA;重复记录 同一行数据在数据集中出现了多次，通常是因为源系统没有正确的唯一约束、多次导入未去重、或者数据合并时出现了重复。&#xA;异常值 数据值明显超出正常范围。例如，年龄字段出现 200 岁、订单金额为负数、温度字段出现 9999 等。异常值可能是录入错误，也可能是正常但罕见的业务场景。&#xA;格式不一致 同一类型的数据使用了不同的表示方式。例如日期字段有的用&amp;quot;2026-04-05&amp;quot;，有的用&amp;quot;2026/04/05&amp;quot;，还有的用&amp;quot;05/04/2026&amp;quot;；电话号码有的带国家区号，有的不带。&#xA;问题类型 示例 原因 影响 缺失值 email 列为 NULL 未采集、未必填 统计分析偏差 重复记录 同一订单出现 2 次 重复导入 汇总数据翻倍 异常值 年龄=500 录入错误 平均值失真 格式不一致 日期格式混杂 多源合并 解析失败 逻辑矛盾 下单日期 &amp;gt; 发货日期 业务约束违反 数据不可信 使用 Pandas 进行数据清洗 Pandas 是 Python 生态中最强大的数据处理库，也是 ETL 转换环节的首选工具。&#xA;缺失值处理 import pandas as pd import numpy as np # 加载原始数据 df = pd.</description>
    </item>
  </channel>
</rss>
