我对机器学习/数据科学很陌生,所以我从这里开始做我的第一个 Kaggle 竞赛问题:https ://www.kaggle.com/c/house-prices-advanced-regression-techniques
我正在清理训练数据集并用模式值填充一些分类特征,过了一段时间我注意到一些非常奇怪的东西。我用模式填充了“MasVnrType”列的缺失值,结果发现它用无值填充了所有这些值,即使 isna().sum() 仅显示 8 个缺失值。是否有一些我缺乏的理解?
我对机器学习/数据科学很陌生,所以我从这里开始做我的第一个 Kaggle 竞赛问题:https ://www.kaggle.com/c/house-prices-advanced-regression-techniques
我正在清理训练数据集并用模式值填充一些分类特征,过了一段时间我注意到一些非常奇怪的东西。我用模式填充了“MasVnrType”列的缺失值,结果发现它用无值填充了所有这些值,即使 isna().sum() 仅显示 8 个缺失值。是否有一些我缺乏的理解?
默认情况下,value_counts具有dropna=True表示None值不显示在值计数中的参数。
试试下面的代码。您应该看到“真实”None值的计数。应该有一个计数8。
df['MasVnrType'].value_counts(dropna=False)
你为什么看None 864?这可能是因为 None 值实际上是"None". 他们是strings。由于它们是strings它们不计入isna(),它只计算实际None值。
如何解决?清理数据时,不要添加"None"为string,而是添加None。