I have one dataframe like below -
df1_data = {'sym' :{0:'AAA',1:'BBB',2:'CCC',3:'DDD',4:'DDD',5:'CCC'},
        'id' :{0:'101',1:'102',2:'103',3:'104',4:'105',5:'106'},
        'sal':{0:'1000',1:'1000',2:'1000',3:'1000',4:'1000',5:'1000'},
        'loc':{0:'zzz',1:'zzz',2:'zzz',3:'zzz',4:'zzz',5:'zzz'},
        'name':{0:'abc',1:'abc',2:'abc',3:'pqr',4:'pqr',5:'pqr'}}
df = pd.DataFrame(df1_data)
print df
    id  loc name   sal  sym
0  101  zzz  abc  1000  AAA
1  102  zzz  abc  1000  BBB
2  103  zzz  abc  1000  CCC
3  104  zzz  pqr  1000  DDD
4  105  zzz  pqr  1000  DDD
5  106  zzz  pqr  1000  CCC
I want to check which columns of above dataframe contains same values in all rows. On the basis of that requirement I want these same columns in one dataframe and unmatched columns in another dataframe.
Expected output -
matched_df -
   loc   sal
0  zzz  1000
1  zzz  1000
2  zzz  1000
3  zzz  1000
4  zzz  1000
5  zzz  1000
unmatched_df -
    id name  sym
0  101  abc  AAA
1  102  abc  BBB
2  103  abc  CCC
3  104  pqr  DDD
4  105  pqr  DDD
5  106  pqr  CCC
 
    