LoginSignup
0
1

2つのTBLの差分チェック

Posted at

pandasで2つのTBLの差分チェック

AとBの2つの差分を調べる

#uniqueかどうかを重複排除して調べる
def is_uni(df):
    return len(df) == len(len.drop_duplicates())

データ作成

#ここは適当にしてます
番号と年月をカラムにもつ
df_a = df_a[df_a["年月"] > "202306"]

df_b = df_b[df_b["年月"] > "202307"]

# aの中にbがあるか調査。重複しているものをdf_exに
df_ex = df_a[df_a["番号"].isin(df_b["番号"])]

ソート

# aとexを比較する前にソート
df_a = df_a.sort_values(["番号","年月"]).reset_index(drop=True)
df_ex = df_ex.sort_values(["番号","年月"]).reset_index(drop=True)

差分チェック

df_a.equals(df_ex)
→Trueなら完全一致
→Falseなら不一致

#不一致ならどこが差分なのかチェックする

df_compare = df_a.compare(df_ex)

df_compareを表示で重複している差分をチェックできる
カラムに絞る場合は
df_compare = df_a["番号"].compare(df_ex["番号"])

# ちなみに、index番号で一行表示したい場合は
df[100:101]
などのスライス表記で表示可能
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1