ホームページ >バックエンド開発 >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'No item names False'」に関連するエラー。この問題を解決するために、条件付き行削除の別のアプローチを検討してみましょう。

式 "len(df['column name']) < 2" を使用する代わりに、drop メソッドを直接利用できます。これにより、指定した条件に基づいて行を削除できます。 Drop メソッドは 2 つの引数を取ります:

  1. labels: 削除するラベルまたはインデックスのリスト
  2. axis=0: 行がされています削除

例:

「name」列の文字列の長さが 2 より大きい行をすべて削除するには:

df = df.drop(df[df['name'].str.len() > 2].index)</p>
<p><strong>インプレース操作:</strong></p>
<p>次のことができますまた、inplace パラメータを True に設定して、削除操作をインプレースで実行します。</p>
<pre class="brush:php;toolbar:false">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 中国語 Web サイトの他の関連記事を参照してください。

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