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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-01 20:17:02887ブラウズ

How to Remove Duplicate Columns in Pandas?

Pandas で重複する列を削除する方法

重複した列を持つ DataFrame を扱っている場合は、それらを削除することをお勧めします。データの一貫性または分析の目的のため。これを実現する簡単な解決策は次のとおりです。

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

メカニズム:

  • df.columns.duplicated() は、True が重複を示すブール配列を作成します。列名であり、False は一意の名前を示します。
  • ~ (論理否定) を適用すると、この配列が反転され、重複していない列のみが選択されます。
  • df.loc[:,...] は使用します。これらの重複していない列を選択するためのブール型インデックス付けにより、重複を効果的に削除します。
  • copy() により、削除された重複を使用して新しい DataFrame が作成され、元の DataFrame は影響を受けません。

注: このメソッドは、列の値ではなく列名に基づいて重複をチェックします。

代替アプローチ:

重複の削除インデックス:

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

これは、上記と同様のメカニズムを使用して重複行を削除しますが、列名ではなくインデックスをチェックします。

値による重複の削除 (注意):

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

このアプローチでは、各列をスキャンし、その列のすべての値が重複している場合はその列を削除します。ただし、列名ではなく値をチェックし、すべてのケースで望ましい結果が得られるとは限らないため、使用には注意が必要です。

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

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