ホームページ >バックエンド開発 >Python チュートリアル >条件に基づいて Pandas DataFrame から行を削除するにはどうすればよいですか?

条件に基づいて Pandas DataFrame から行を削除するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-12 08:50:02207ブラウズ

How to Remove Rows from a Pandas DataFrame Based on a Condition?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。