处理数值数据和分类数据的 NaN 值的最佳方法是什么

What would the best way to handle NaN values for both numerical and categorical data

我正在创建一个回归模型,但我想知道处理数值和分类数据的 nan 值的最佳方法是什么:

我知道对于数字列,下一个解决方案可能有用:

1- 将其替换为 0:df.fillna(0, inplace=True)

2- 将其替换为均值:df.fillna(df.mean(), inplace=True)

3- 换成中位数df.fillna(df.median(), inplace=True)

4- 删除我的目标列中具有 nan 值的每一行

采用2或3后是否会出现过拟合。 处理列中的分类值和数值的最佳方法是什么

但是,我想知道在使用 one hot 编码之后,分类数据的最佳选择是什么?

如有任何帮助,我们将不胜感激!

对于通常的做法,最好对具有连续值的列使用 df.fillna(df.mean(), inplace=True),对分类值使用 df.fillna(df.mode()[0], inplace=True)