首頁 >後端開發 >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