python - Sklearn imputer vs df.fillna 用列的平均值替换 nan 值

标签 python pandas dataframe scikit-learn

我找到了 2 种方法来替换 python 中的 nan 值, 一个使用 sklearn 的 imputer 类,另一个使用 df.fillnan() 后者似乎很容易,代码更少。 但效率明智哪个更好。 任何人都可以解释每个的用例吗?

最佳答案

我觉得 imputer 类有它自己的好处,因为你可以简单地提到 mean 或 median 来执行一些操作,这与 fillna 不同,在 fillna 中你需要提供值。但是在 imputer 中你需要拟合和转换数据集,这意味着更多的代码行。但它可能会给你比 fillna 更快的速度,但除非数据集非常大,否则这无关紧要。

但是 fillna 有一些非常酷的东西。您甚至可以使用有时可能需要的自定义值来填充 na。这使 fillna 更好,恕我直言,即使它可能执行得更慢。

关于python - Sklearn imputer vs df.fillna 用列的平均值替换 nan 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47114021/

相关文章:

python - 如何从 N2Y0.com 提取数据

python - 如何将计时器与返回数据帧的函数一起使用?

python - pandas 两个 DatetimeIndex 之间的元素差异

python - 将 2 个 Pandas 列表填充的列连接成 1 个大列表?

python - 在Python中合并一个单一数据帧中的列

python - 为导入的库静音 Pytest 库输出

python - 如何在 Python matplotlib 中的 LaTeXed 下标中包含字符串链

python - 如何使用 pandas datareader 获取纳斯达克指数的数据?

python - 连接和重命名 pandas 中的列

html - 使用 knitr 的 data.frame 单元格的类/id