2 つの Pandas DataFrame 間の違いを効率的に見つけるにはどうすればよいですか?
2 つのデータ フレーム間の違いを見つける方法
データを扱うとき、重複する情報を含む 2 つのデータ フレームがあることがよくありますが、一意の行または列も含まれます。一方のデータ フレームに存在し、もう一方のデータ フレームには存在しない行と列のみを含むデータ フレームを取得するには、データ フレームの差分操作を実行する必要があります。
これを実現するには、drop_duplicates 関数を次のコマンドで利用できます。 keep=False パラメータ。連結されたデータ フレームから重複する行を効果的に削除します。
pd.concat([df1,df2]).drop_duplicates(keep=False)
ただし、このメソッドは、両方のデータ フレームにデータが含まれていないことを前提としています。重複します。元のデータ フレームに重複が存在する場合、上記の方法では重複が誤って削除されてしまいます。このシナリオに対処するには、次の 2 つの代替アプローチのいずれかを採用できます。
方法 1: タプルで isin を使用する
この方法では、データ フレームを作成し、isin を使用して df1 のタプルが df2 に存在するかどうかを確認します。 df1 にのみ存在する行は保持されます。
df1[~df1.apply(tuple,1).isin(df2.apply(tuple,1))]
方法 2: インジケーターとマージ
インジケーター パラメーターを True にして 2 つのデータ フレームをマージすることで、どの行が df1 または df2 に固有であるかを示す新しい列を作成できます。 _merge 列の値が left_only である行を選択することで、df1 に固有の行をフィルターで除外できます:
df1.merge(df2,indicator = True, how='left').loc[lambda x : x['_merge']!='both']
これらの手法を実装することで、2 つのデータ フレーム間の差異を効率的に判断でき、次のことが保証されます。各データ フレームからの一意の情報のみを含むデータ フレームができました。
以上が2 つの Pandas DataFrame 間の違いを効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、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)

ホットトピック









