「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > あるデータフレームには存在するが、別のデータフレームには存在しない行を検索する方法 (df1 と df2 の比較)?

あるデータフレームには存在するが、別のデータフレームには存在しない行を検索する方法 (df1 と df2 の比較)?

2024 年 11 月 7 日に公開
ブラウズ:753

How to Find Rows Present in One Dataframe but Not in Another (Comparing df1 and df2)?

データフレームの比較: 一方には存在するが他方には存在しない行の検索

データフレームを比較して相違点を特定することは、データ品質の保証とマージにとって重要です操作。この場合、特定の構造を持つ 2 つのデータフレーム (df1 と df2) があり、df2 には存在するが df1 には存在しない行を判別する必要があります。

最初に df1 != df2 を使用してデータフレームを比較しようとした結果、エラーです。このアプローチは、同一の行と列を持つデータフレームに対してのみ機能します。対称的な差分を見つけるには、別のアプローチが必要です。

1 つの方法では、データフレームを連結します。

df = pd.concat([df1, df2])
df = df.reset_index(drop=True)

次に、連結されたデータフレームをすべての列でグループ化します:

df_gpby = df.groupby(list(df.columns))

次に、1 行のみが存在するインデックス値を取得することで、一意のレコードを識別します。

idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]

これらのインデックスを使用すると、データフレームをフィルタリングして目的の結果を取得できます。

df.reindex(idx)

このアプローチでは、df2 に存在するが存在しない行が提供されます。 Date インデックスと Fruit 列の比較に基づく df1 の

リリースステートメント この記事は次の場所に転載されています: 1729343178 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3