In [101]: df['label'] = df.apply(lambda x: ''.join(df.columns[x.astype(bool)].tolist()), axis=1)
In [102]: df
Out[102]:
A B C label
0 1 0 0 A
1 1 1 0 AB
2 0 1 0 B
3 0 0 1 C
PS i would definitely chose @Ted's solution as it's much nicer and much much much ... faster