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