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

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

Susan Sarandon
Susan Sarandon原创
2024-12-10 01:24:14650浏览

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

从 Pandas DataFrame 中删除具有 NaN 值的行

Pandas DataFrame 可以包含表示为 NaN 的缺失值。这可能会给操作数据带来挑战。本文介绍如何有效地删除特定列包含 NaN 值的行。

问题:

考虑以下 DataFrame,我们只想保留 ' EPS 的专栏不是NaN:

                 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 值的行,我们可以使用 notna() 函数。此函数创建一个布尔掩码,其中 True 表示非 NaN 值。

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

此操作将仅选择 'EPS' 不为 NaN 的行,从而产生以下 DataFrame:

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

通过使用 notna() 函数,我们可以有效过滤掉指定列中包含 NaN 值的行。

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

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