ホームページ  >  記事  >  バックエンド開発  >  Python DataFrames で重複する列を削除するにはどうすればよいですか?

Python DataFrames で重複する列を削除するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-04 08:11:02716ブラウズ

How to Remove Duplicate Columns in Python DataFrames?

Python データフレームの重複列の削除

データフレームを使用する場合、重複した列が頻繁に発生し、冗長性が生じ、混乱を引き起こす可能性があります。これは、一意の列のみを保持したい場合に特にイライラする可能性があります。幸いなことに、Python pandas には重複した列を削除する簡単なソリューションがあります。

名前で列を削除するソリューション

名前に基づいて重複した列を削除するには、次のコマンドを使用します。 line:

<code class="python">df = df.loc[:,~df.columns.duplicated()].copy()</code>

このアプローチでは、~ 演算子を使用して、重複する列名をチェックする df.columns.duplicated() によって返されるブール値を反転します。結果のブール配列は、df.loc インデックス内の重複していない列のみを選択するために使用されます。 .copy() メソッドは、後で元のデータフレームを変更する際の潜在的なエラーを回避するために追加されています。

値による重複を削除するソリューション

重複する列を削除するとします。名前だけでなく値を確認することによって。これは、次のコードを使用して実現できます。

<code class="python">df = df.loc[:,~df.apply(lambda x: x.duplicated(),axis=1).all()].copy()</code>

このソリューションでは、大規模なデータフレームでは時間がかかる可能性があるデータフレームの転置を回避します。各列にラムダ関数を適用して重複値をチェックします。結果のブール配列を使用して、重複する値のない列のみが選択されます。

注: 値ベースのアプローチを使用する場合は注意してください。場合によっては、必ずしも望ましい結果が得られるとは限りません。

追加のヒント

  • 重複行を削除するには、df を使用して同じ手法をインデックスに適用します。 loc[~df.index.duplicated(),:].
  • 特定の列に基づいて重複行を削除するには、drop_duplicates() メソッドを使用します。

以上がPython DataFrames で重複する列を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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