以下のコードを実行した後、
df1.merge(df2, on=['Customer_id'], indicator='Status', how='outer')
私は、
ここで、他の列についても同様に、Name_x のすべての要素が Name_y と等しいかどうかを比較したいと思います。私がやっていることは、それを個別に比較することです。これが私のコードです:
df3.assign(Status1=df3.Name_x == df3.Name_y)
df3.assign(Status2=df3.Age_x == df3.Age_y)
等々
上記を行った後、
コードを書かなくてもいいように for ループを書いてもいいですか
df3.assign()
2列ごとに個別に比較するには?
そして最も重要なことは、私の最終ステータス列が次のようになることです。
私がやっていることは、次のようなelifの場合に書くことを考えています:
デフォルト f(行):
if row['Status1'] == 'True' and row['Status2'] == 'False': val = 'Matching for column {Name}' elif row['Status1'] == 'False' and row['Status1'] == 'True': val = 'Matching for column {Age} elif row['Status1'] == 'False' and row['Status1'] == 'False': val = 'Not Matching at all' #and so on... return val
if elifを Status1 と Status2 の 2 つの列だけに書きたい場合はこれで問題ありませんが、2 つ以上の列にif elifを書きたい場合は長くなります。列Status3もある場合、数行のコードで目的の出力を取得できますか?