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

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

DDD
發布: 2024-11-10 10:25:02
原創
327 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板