How to find if a value unique to first data frame when comparing to another data frame


For example, I have 2 dataframes with 2 columns:

df1              df2
AAA  BBB         AAA  KKK
BBB  CCC         BBB  LLL
CCC  FFF         CCC  FFF 
DDD  None        None None 

I want to spot whats on df1 is not in df2, then the result is DDD (exclude None). How can I achieve this?

Asked By: beginner



import pandas as pd

df1 = pd.DataFrame([['AAA', 'BBB'], ['BBB', 'CCC'], ['CCC', 'FFF'], ['DDD', None]])
df2 = pd.DataFrame([['AAA', 'KKK'], ['BBB', 'LLL'], ['CCC', 'FFF'], [None, None]])

df1_uniq = []
df2_uniq = []
for col in df1.columns:
  for string in df1[col].unique():
for col in df2.columns:
  for string in df2[col].unique():

result = [x for x in df1_uniq if not x in df2_uniq]
Answered By: Chanran Kim
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.