Erstellen einer Spalte mit If-Else-Else-Bedingungen in Pandas
So erstellen Sie eine neue Spalte basierend auf einer If-Elif-Else-Bedingung , gibt es zwei Hauptansätze:
Nicht-vektorisierter Ansatz
Dieser Ansatz beinhaltet die Definition einer Funktion, die auf Zeilen operiert:
<code class="python">def f(row): if row['A'] == row['B']: val = 0 elif row['A'] > row['B']: val = 1 else: val = -1 return val</code>
Dann , wenden Sie es auf den Datenrahmen entlang der Zeilen an:
<code class="python">df['C'] = df.apply(f, axis=1)</code>
Vektorisierter Ansatz
Der vektorisierte Ansatz verwendet np.where, um die neue Spalte direkt zu erstellen:
<code class="python">df['C'] = np.where( df['A'] == df['B'], 0, np.where( df['A'] > df['B'], 1, -1)) </code>
Dieser Ansatz ist für große Datensätze effizienter.
Hier ist ein Beispiel mit dem bereitgestellten Datenrahmen:
Eingabedatenrahmen
A | B |
---|---|
2 | 2 |
3 | 1 |
1 | 3 |
Ausgabedatenrahmen
A | B | C |
---|---|---|
2 | 2 | 0 |
3 | 1 | 1 |
1 | 3 | -1 |
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Spalte basierend auf If-Else-Else-Bedingungen in Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!