Interpretiere Spalten mit Nullen und Einsen als Binär und speichere sie als Ganzzahlspalte

Ich habe einen Datenrahmen aus Nullen und Einsen. Ich möchte jede Spalte so behandeln, als ob ihre Werte eine binäre Darstellung einer ganzen Zahl wären. Was ist der einfachste Weg, um diese Konvertierung durchzuführen?

Ich will das

df = pd.DataFrame([[1, 0, 1], [1, 1, 0], [0, 1, 1], [0, 0, 1]])

print df

   0  1  2
0  1  0  1
1  1  1  0
2  0  1  1
3  0  0  1

umgewandelt zu

0    12
1     6
2    11
dtype: int64

o effizient wie möglic