ホームページ >バックエンド開発 >Python チュートリアル >文字列の長さと複数の条件に基づいて Pandas DataFrame から行を削除する方法は?
Pandas DataFrames での条件付き行削除
特定の列が指定された文字列長を超える行を DataFrame から削除しようとしているときに、次のエラーが発生しました。 「KeyError: u'No item names False'」に関連するエラー。この問題を解決するために、条件付き行削除の別のアプローチを検討してみましょう。
式 "len(df['column name']) < 2" を使用する代わりに、drop メソッドを直接利用できます。これにより、指定した条件に基づいて行を削除できます。 Drop メソッドは 2 つの引数を取ります:
例:
「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 サイトの他の関連記事を参照してください。