Numpy „where“ mit mehreren Bedingungen: Behandlung von drei Bedingungen
Problembeschreibung:
Das Hinzufügen einer neuen Spalte zu einem Datenrahmen basierend auf mehreren Bedingungen wird schwierig, wenn mehr als zwei Bedingungen vorliegen. Das gegebene Szenario erfordert die Erstellung einer Spalte „energy_class“ mit „hohen“, „mittleren“ oder „niedrigen“ Werten basierend auf den Werten der Spalte „consumption_energy“.
Lösung:
Obwohl numpy.where nur zwei Bedingungen verarbeiten kann, löst eine clevere Problemumgehung mit numpy.select das Problem.
Python-Code:
<code class="python"># Define column and conditions col = 'consumption_energy' conditions = [df2[col] >= 400, (df2[col] < 400) & (df2[col] > 200), df2[col] <= 200] # Define choices for conditions choices = ["high", 'medium', 'low'] # Add "energy_class" column with np.select df2["energy_class"] = np.select(conditions, choices, default=np.nan)</code>
Beispielausgabe:
consumption_energy energy_class 0 459 high 1 416 high 2 186 low 3 250 medium 4 411 high 5 210 medium 6 343 medium 7 328 medium 8 208 medium 9 223 medium
Zusätzlicher Hinweis:
default=np.nan weist Zeilen NaN-Werte zu, die keine Bedingungen erfüllen . Sie können dies an Ihre Bedürfnisse anpassen.
Das obige ist der detaillierte Inhalt vonWie füge ich mit Numpy „where' eine Spalte zu einem DataFrame mit mehr als zwei Bedingungen hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!