There are 2 dfs
datatypes are the same
df1 =
ID city      name    value
1  LA        John    111
2  NY        Sam     222
3  SF        Foo     333
4  Berlin    Bar     444
df2 =
ID  city      name   value
1   NY        Sam    223
2   LA        John   111
3   SF        Foo    335
4   London    Foo1   999
5   Berlin    Bar    444
I need to compare them and produce a new df, only with values, which are in df2, but not in df1
By some reason results after applying different methods are wrong
So far I've tried
pd.concat([df1, df2],  join='inner', ignore_index=True)
but it returns all values together
pd.merge(df1, df2, how='inner')
it returns df1
then this one
df1[~(df1.iloc[:, 0].isin(list(df2.iloc[:, 0])))
it returns df1
The desired output is
ID city      name    value
1   NY        Sam    223
2   SF        Foo    335
3   London    Foo1   999
 
     
    