ホームページ > バックエンド開発 > Python チュートリアル > データフレームを比較して行の違いを確認するにはどうすればよいですか?

データフレームを比較して行の違いを確認するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-19 21:13:29
オリジナル
304 人が閲覧しました

How to Compare DataFrames for Differences in Rows?

行の違いに関するデータフレームの比較

同一の行と列を持つ 2 つのデータフレームを比較する場合、単純な比較演算 (df1 != df2)で十分です。ただし、データフレームに異なる行セットがある場合、違いを特定するには別のアプローチが必要です。

Concat、Group、Filter

データフレームを比較する 1 つの方法行の相違点は、それらを連結し、列ごとにグループ化し、一意の行をフィルタリングすることです。次のコードはこれを示しています:

<code class="python">df = pd.concat([df1, df2])
df = df.reset_index(drop=True)
df_gpby = df.groupby(list(df.columns))
idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]
result = df.reindex(idx)</code>
ログイン後にコピー

連結されたデータフレーム (df) は、そのすべての列 (df_gpby) によってグループ化されます。 「groups.values()」メソッドはタプルの反復可能値を返します。各タプルは一意の行のインデックスを表します。長さ (len(x) == 1) でタプルをフィルター処理すると、1 つのデータフレームのみに存在する行が特定されます。最後に、フィルタリングされたインデックス (idx) を使用してデータフレームのインデックスを再作成すると、行の差分を含むデータフレームが生成されます。

出力例

提供されているサンプル データフレームの使用:

>>> result
         Date   Fruit   Num   Color
9  2013-11-25  Orange   8.6  Orange
8  2013-11-25   Apple  22.1     Red
ログイン後にコピー

この出力には、df2 にはあるが df1 には存在しない行が表示されます。

以上がデータフレームを比較して行の違いを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート