首页 > 后端开发 > Python教程 > 如何使用'ffill”和'bfill”高效替换 Pandas DataFrame 中的 NaN 值?

如何使用'ffill”和'bfill”高效替换 Pandas DataFrame 中的 NaN 值?

Patricia Arquette
发布: 2024-12-01 19:05:10
原创
968 人浏览过

How to Efficiently Replace NaN Values in Pandas DataFrames using `ffill` and `bfill`?

用 Pandas DataFrame 中的前一个或下一个值替换 NaN

处理 Pandas DataFrame 时,丢失表示为 NaN(不是数字)的数据可能会给数据分析带来挑战。一项常见任务是将这些 NaN 替换为从现有数据派生的适当值。一种简单的方法是迭代 DataFrame 并显式修改值。然而,Pandas 提供了更有效的解决方案,可以避免使用循环。

前向填充 (ffill)

用上面的第一个非 NaN 值替换 NaN同一列,使用 fillna 方法和 ffill(向前填充)选项。此方法将最后一个有效观察向前传播到后续有效观察。

import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
df.fillna(method='ffill')
登录后复制

输出:

   0  1  2
0  1  2  3
1  4  2  3
2  4  2  9
登录后复制

其他注意事项

  • DataFrame 中的第一行不应包含 NaN,因为它充当填充。
  • ffill 方法按列操作,这意味着它分别填充每列中的 NaN。
  • 要执行向后填充(用下面的下一个非 NaN 值替换 NaN),请使用bfill(向后填充)选项。
  • 要就地修改 DataFrame 而不创建新变量,请将 inplace 参数设置为正确:
df.fillna(method='ffill', inplace=True)
登录后复制

以上是如何使用'ffill”和'bfill”高效替换 Pandas DataFrame 中的 NaN 值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板