I have a dataframe like :
A B C 1 0 0 1 1 0 0 1 0 0 0 1
I want to have :
A B C lab
Using dot
dot
df.assign(label=df.dot(df.columns)) A B C label 0 1 0 0 A 1 1 1 0 AB 2 0 1 0 B 3 0 0 1 C
Same thing using underlying numpy arrays
df.assign(label=df.values.dot(df.columns.values)) A B C label 0 1 0 0 A 1 1 1 0 AB 2 0 1 0 B 3 0 0 1 C