Ich habe einen Pandas Datenrahmen df
Hinzufügen von Spaltendatenrahmen Pandas in Vectorized Weise Anlage auf andere Spaltenwerte
>>> df
a b c
0 1 1 0
1 1 -1 1
2 1 0 0
Jetzt habe ich eine neue Spalte df hinzufügen möchten [ ‚e‘] Anlage auf Spalte a
und b
. Ich möchte die neue Spalte vektorisiert erstellen.
Vorerst bin ich wie folgt vorgehen:
df["e"] = [-1 if (df['a'] == 1 and df['b'] == 1) else 1]
dem Ausgang sollte:
>>> df
a b c e
0 1 1 0 -1
1 1 -1 1 1
2 1 0 0 1
Aber ich erhalte den folgenden Fehler:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/hmishfaq/anaconda/lib/python2.7/site-packages/pandas/core/generic.py", line 917, in __nonzero__
.format(self.__class__.__name__))
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Was bin ich falsch machen und was ist die richtige Art der Vektorisierung hier?
PS: Der ursprüngliche Dataframe, den ich verwenden muss, ist wirklich groß und For-Loop braucht dafür immer eine Ewigkeit.