[('A', 'B'), ('A', 'A'), ('A', 'C'), ('B', 'B'), ('B', 'A'), ('B', 'C'), (
    'C', 'B'), ('C', 'A'), ('C', 'C')]
print(df1.reindex(columns=comb, fill_value=0))
tup(A, B)(A, A)(A, C)(B, B)(B, A)(B, C)(C, B)(C, A)(C, C)
Применение pandas groupby для каждого индекса