Pandas のインデックスに基づいて重複行を効率的に削除する方法は?
重複したインデックスを持つ Pandas 行の削除
データ分析シナリオでは、重複したインデックスが発生する可能性があるため、そのような行を効率的に削除する必要があります。 。この記事では、広く使用されている Pandas ライブラリを使用したこの問題の解決策を検討します。
Pandas の重複削除のアプローチ
Pandas は、インデックスに基づいて重複行を削除するためのいくつかの方法を提供します。値:
- reset_index().drop_duplicates(subset='index').set_index('index'): このアプローチには、DataFrame インデックスのリセット、drop_duplicates( を使用した重複の識別が含まれます) )、元のインデックスをインデックスとして設定し直します。 column.
- groupby().first(): より簡潔な方法には、DataFrame をインデックスでグループ化し、first() 関数を使用して最初に出現するものを選択することが含まれます。
- [~df3.index.duplicated(keep='first')]: 複製されたメソッドは Pandas 上で直接動作しますインデックス。最初のインスタンスを保持しながら重複を削除できます。 keep='last' を使用すると、重複の最後のインスタンスを保持できます。
パフォーマンスの比較
各メソッドの時間計算量はサイズに応じて異なります。そしてDataFrameの複雑さ。サンプル DataFrame を使用したこれらのメソッドのベンチマーク:
- drop_duplicates(subset='index'): 基礎となる並べ替え操作のため、パフォーマンスが最も低くなります。
- groupby().first(): よりわずかにパフォーマンスが劣りますduplicad().
- [~df3.index.duplicated(keep='first')]: 最もパフォーマンスが高く、読みやすい。
サンプルデモ
複製されたメソッドの使用法を説明するために、サンプルを考えてみましょう。重複したインデックス値を持つ DataFrame df3:
import pandas as pd import datetime # Example DataFrame with duplicate indices startdate = datetime.datetime(2001, 1, 1, 0, 0) enddate = datetime.datetime(2001, 1, 1, 5, 0) index = pd.date_range(start=startdate, end=enddate, freq='H') data1 = {'A' : range(6), 'B' : range(6)} data2 = {'A' : [20, -30, 40], 'B' : [-50, 60, -70]} df1 = pd.DataFrame(data=data1, index=index) df2 = pd.DataFrame(data=data2, index=index[:3]) df3 = df2.append(df1) print(df3) # Remove duplicate rows with duplicate indices df3 = df3[~df3.index.duplicated(keep='first')] print(df3)
以上がPandas のインデックスに基づいて重複行を効率的に削除する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

正規表現は、プログラミングにおけるパターンマッチングとテキスト操作のための強力なツールであり、さまざまなアプリケーションにわたるテキスト処理の効率を高めます。

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...
