ホームページ >バックエンド開発 >Python チュートリアル >条件に基づいて Pandas DataFrame から行を削除するにはどうすればよいですか?
Pandas DataFrames の行の条件付き削除
元の質問は、特定の列の文字列の長さに基づいて DataFrame から行を削除することを目的としていました。提案された解決策は不正確でしたが、この記事は、Pandas の条件付き行削除について包括的に理解することを目的としています。
drop メソッドの使用
タイトルの質問に直接対処するには、drop メソッドは、条件式に基づいて行を削除するための簡単なアプローチを提供します。構文は次のとおりです。
df = df.drop(some labels) df = df.drop(df[<some boolean condition>].index)
例
スコア列の値が 50 未満の行をすべて削除するには:
df = df.drop(df[df.score < 50].index)
インプレース変更の場合は、次のことができます。 use:
df.drop(df[df.score < 50].index, inplace=True)
複数の条件
Pandas は、複雑な条件を作成するための論理演算子 (OR の場合は |、AND の場合は &、NOT の場合は ~) の使用をサポートしています。必ず括弧で囲んでください。
スコアが 50 未満と 20 を超えるすべての行を削除するには:
df = df.drop(df[(df.score < 50) & (df.score > 20)].index)
以上が条件に基づいて Pandas DataFrame から行を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。