我尝试使用最近邻从数据集中输入值,它对几乎所有 NaN 都执行了此操作,但它错过了两个。
我正在处理泰坦尼克号数据集,我正在尝试使用 NN 方法来估算测试集中的年龄,如下所示:
titanic_Test['age'] = titanic_Test['age'].interpolate(method='nearest')
它做得很好,只是这两个值保留为 NaN:
pclass sex age sibsp parch fare cabin embarked
416 2.0 0.0 NaN 0.000 0.000000 0.015713 0 S
417 2.0 0.0 南 0.125 0.111111 0.043640 0 C
为什么?
有时,最近邻法无法填补缺失的年龄,因为数据中附近可能没有类似的案例。此方法会查找密切匹配,以根据其他详细信息猜测缺失值。如果没有足够多已知年龄的类似病例,则无法准确猜测。在这种情况下,您可能需要尝试不同的方法或考虑年龄缺失的其他原因。