pandas isin

pandasのisinの使い方

タグ isin except


pandasのisinの使い方

概要

  • 2つのDataFrameを比較する際に、isinを使うと便利
  • BigQueryのexceptと同じようなことができる

2つのDataFrameを比較し、片方にしかないレコードを抽出

import pandas as pd

# サンプルデータフレームを定義
df0 = pd.DataFrame({"A": ["a", "b", "c"], "B": [1, 2, 3]})
df1 = pd.DataFrame({"A": ["b", "c"], "B": [2, 3]})

# df1の各行をタプルとして取得
df1_tuples = set(map(tuple, df1.values))

# df0の各行がdf1_tuplesに含まれないかどうかをチェックし、結果をフィルタとして適用
diff_df = df0[~df0.apply(tuple, axis=1).isin(df1_tuples)]

display(diff_df)
"""
|   | A   |   B |
|---|-----|-----|
| 0 | a   |   1 |
"""