趋近智
想象一下,你正在为食谱准备食材,却发现厨房里少了些东西。同样,在处理数据时,你经常会遇到一些数据集,其中有些信息就是不完整的。这些空白点被称为缺失值。
缺失值表示本应存在于特定观测(一行)和变量(一列)中的信息,但它却缺失了。你可以把它想象成电子表格或数据库表中一个空单元格,你原本期望在那里找到一条数据。
缺失数据在数据分析中,特别是在使用Python以及pandas和NumPy等库时,通常不会以字面上的空白呈现。相反,你通常会遇到一些特定的占位符:
NaN (非数字): 这是你在pandas数据框和NumPy数组中数值数据里最常看到的表示形式。NaN是一个特殊的浮点值,用于表示未定义或无法表示的结果,它非常适合用来指示缺失的数值数据。
None: Python的内置对象,表示值的缺失。你可能会在包含混合数据类型或主要是字符串的列中发现None,尽管pandas通常会在数值列中将None转换为NaN以保持一致性。
NULL: 这是数据库(如SQL数据库)表示缺失信息的标准方式。当你从数据库导入数据时,这些NULL值通常会被你的数据加载工具转换为NaN或None。
占位符: 有时,数据收集系统会使用特定的代码(如-1、999、"missing"或""(空字符串))来表示缺失信息。虽然这些看起来像常规数据,但它们表示缺失。识别和处理这些数据需要额外的小心,因为工具不会自动将它们识别为缺失值,除非你明确地告知它们。
这里有一个小例子,说明缺失值在表中可能是什么样子:
| 姓名 | 年龄 | 分数 | 城市 |
|---|---|---|---|
| Alice | 25 | 88 | New York |
| Bob | NaN | 76 | London |
| Charlie | 30 | NaN | NaN |
| David | 22 | 95 | San Francisco |
在此表中,Bob的年龄缺失(NaN),Charlie的分数缺失(NaN),Charlie的城市也缺失(NaN)。
上述示例表中“年龄”、“分数”和“城市”列的存在值和缺失值计数。
正如本章引言中所述,这些缺失值不仅仅是表面问题。它们带来很大的挑战:
NaN的列执行数学运算(如求和或平均值)通常会导致NaN,从而使计算结果毫无用处。理解缺失值是什么以及它们如何在数据中呈现,是你有效处理它们之前必不可少的第一步,这正是我们将在后续部分介绍的内容。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•