ホームページ >バックエンド開発 >Python チュートリアル >あるデータフレームには存在するが、別のデータフレームには存在しない行を検索する方法 (df1 と 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)
このアプローチでは、Date インデックスと Fruit 列の比較に基づいて、df2 には存在するが df1 には存在しない行が提供されます。
以上があるデータフレームには存在するが、別のデータフレームには存在しない行を検索する方法 (df1 と df2 の比較)?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。