import pandas as pd
data1 = pd.DataFrame({'DocID': [122,122,123,124,125], 'GroupID': ['A12','A24', 'C12', 'C23', 'A12']})
data2 = pd.DataFrame({'DocID': [121,121,122,123,123], 'ClassID': ['A','B', 'C', 'C', 'D']})
merged_data = pd.merge(data1, data2, on='DocID', how='outer')
merged_data.set_index(['GroupID', 'ClassID'], inplace=True)
result = pd.get_dummies(merged_data, columns=['DocID'], prefix='', prefix_sep='')
result.sort_values(sorted(result.columns), ascending=False, inplace=True)
result