缺失数据与插补

Power BI 中的 Python 入门

Jacob H. Marquez

Data Scientist

什么是缺失数据?

常见的"缺失"取值:

  • null
  • NA
  • 99
  • ""
Power BI 中的 Python 入门

什么是缺失数据?

常见的"缺失"取值:

  • null
  • NA
  • 99
  • ""
entity year fished
Australia 1988 153148
Australia 1989 null
Australia 1990 567895
Australia 1991 632987
Australia 1992 643578
Australia 1993 null
Power BI 中的 Python 入门

为什么会缺失?

  • 参与者在调查中忘记或拒绝作答
  • 参与者在研究第二阶段退出
  • 测量仪器出现故障
  • 隐私法规限制数据使用
Power BI 中的 Python 入门

是随机缺失吗?

随机缺失

三座城市(西雅图、纽约、巴黎)的降雨量表(英寸)。

Power BI 中的 Python 入门

是随机缺失吗?

非随机缺失

三座城市(西雅图、纽约、巴黎)的降雨量表(英寸)。西雅图有一行缺失。

Power BI 中的 Python 入门

是随机缺失吗?

非随机缺失

三座城市(西雅图、纽约、巴黎)的降雨量表(英寸)。西雅图有一行缺失。

  • 仪器无法检测到低读数
  • 某些人群不愿披露信息
Power BI 中的 Python 入门

如何处理缺失数据?

非随机缺失

  • 暂停分析
  • 弄清缺失原因
  • 收集更多数据
  • 明确记录限制与假设

随机缺失

  • 删除观测
  • 添加缺失指示变量:缺失为 1,否则为 0
  • 插补
Power BI 中的 Python 入门

插补

定义:用另一个值替换缺失值。

插补类型:

  • 均值
  • 中位数
  • 众数
  • 前一值或后一值

当该列缺失不超过 5% 时效果较好。

记得先排序!

Power BI 中的 Python 入门

插补示例

随机缺失

三座城市(西雅图、纽约、巴黎)的降雨量表(英寸),包含缺失观测。

中位数插补

三座城市(西雅图、纽约、巴黎)的降雨量表(英寸)。用各城市的中位数填补缺失。

Power BI 中的 Python 入门

数据集

Invoice StockCode Description Quantity InvoiceDate Price Customer ID
506303 PADS PADS TO MATCH ALL CUSHIONS 1 4/29/2010 10:43:00 AM 0.001 14249
496725 M Manual 1 2/3/2010 2:16:00 PM 1.5 13619
502660 M Manual 6 3/25/2010 5:18:00 PM 1.5 13187
509669 90214S LETTER "S" BLING KEY RING 10 12/13/2009 3:54:00 PM 1.25 16725
Power BI 中的 Python 入门

Vamos praticar!

Power BI 中的 Python 入门

Preparing Video For Download...