Pandas DataFrames 中的條件行刪除
嘗試從DataFrame 中刪除特定列超過給定字串長度的行時,您遭遇到了與「KeyError:u'沒有名為False 的項目'」相關的錯誤。為了解決這個問題,讓我們來探索一種條件行刪除的替代方法。
您可以直接利用 drop 方法,而不是使用表達式“len(df['column name'])
範例:
要刪除「名稱」欄位中字串長度大於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中文網其他相關文章!