首頁 >後端開發 >Python教學 >如何根據字串長度和多個條件從 Pandas DataFrame 中刪除行?

如何根據字串長度和多個條件從 Pandas DataFrame 中刪除行?

DDD
DDD原創
2024-11-10 10:25:02329瀏覽

How to Delete Rows from a Pandas DataFrame Based on String Length and Multiple Conditions?

Pandas DataFrames 中的條件行刪除

嘗試從DataFrame 中刪除特定列超過給定字串長度的行時,您遭遇到了與「KeyError:u'沒有名為False 的項目'」相關的錯誤。為了解決這個問題,讓我們來探索一種條件行刪除的替代方法。

您可以直接利用 drop 方法,而不是使用表達式“len(df['column name'])

  1. labels: 要刪除的標籤或索引清單
  2. axis=0:表示行正在刪除

範例:

要刪除「名稱」欄位中字串長度大於2 的所有行:

df = df.drop(df[df['name'].str.len() > 2].index)

就地操作:

你也可以透過將inplace 參數設定為True 來執行就地刪除操作:

df.drop(df[df['name'].str.len() > 2].index, inplace=True)

多個條件:

要套用多個條件進行行刪除,請使用邏輯運算子|括號內的(或) 和(和):

df = df.drop(df[(df['age'] < 18) & (df['gender'] == 'male')].index)

這將刪除年齡小於18且性別為「男性」的所有行。

以上是如何根據字串長度和多個條件從 Pandas DataFrame 中刪除行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn