首页 >后端开发 >Python教程 >如何从特定的 Pandas DataFrame 列中删除具有 NaN 值的行?

如何从特定的 Pandas DataFrame 列中删除具有 NaN 值的行?

Linda Hamilton
Linda Hamilton原创
2024-12-19 10:58:32866浏览

How to Remove Rows with NaN Values from a Specific Pandas DataFrame Column?

如何从 Pandas DataFrame 中的特定列中删除 NaN 值

使用 Pandas DataFrame 时,有效处理丢失的数据至关重要。一项常见任务是删除特定列包含 NaN 值的行。

场景:

考虑以下 DataFrame:

                   STK_ID  EPS  cash
STK_ID RPT_Date                   
601166 20111231  601166  NaN   NaN
600036 20111231  600036  NaN    12
600016 20111231  600016  4.3   NaN
601009 20111231  601009  NaN   NaN
601939 20111231  601939  2.5   NaN
000001 20111231  000001  NaN   NaN

目标是删除“EPS”列包含 NaN 值的所有行,结果如下DataFrame:

                   STK_ID  EPS  cash
STK_ID RPT_Date                   
600016 20111231  600016  4.3   NaN
601939 20111231  601939  2.5   NaN

解决方案:

要完成此任务,您可以使用 df.dropna() 方法,该方法会删除任意值的行指定列中的值为 NaN。但是,在这种情况下,您只想删除“EPS”列包含 NaN 的行。要将其专门应用于“EPS”列,请使用以下代码:

df = df[df['EPS'].notna()]

此代码检查 DataFrame 中的每一行“EPS”列中的值是否为 NaN,以及是否为 NaN不,它保留行。如果为 NaN,则删除该行。生成的 DataFrame 将仅包含“EPS”列具有非 NaN 值的行。

以上是如何从特定的 Pandas DataFrame 列中删除具有 NaN 值的行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn