Mam DataFrame df
:
A B
a 2 2
b 3 1
c 1 3
Chcę utworzyć nową kolumnę na podstawie następujących kryteriów:
jeśli wiersz A == B: 0
jeśli wierszA > B: 1
jeśli wiersz A < B: -1
więc biorąc pod uwagę powyższą tabelę, powinno być:
A B C
a 2 2 0
b 3 1 1
c 1 3 -1
W typowych if else
przypadkach, które robię np.where(df.A > df.B, 1, -1)
, czy pandy zapewniają specjalną składnię do rozwiązania mojego problemu w jednym kroku (bez konieczności tworzenia 3 nowych kolumn, a następnie łączenia wyniku)?
apply
i zestawaxis=1
będzie działać, nie wiem, mogę myśleć o operacji, która da ci to, co chcesz