Heim >Backend-Entwicklung >Python-Tutorial >Wie füge ich mit Numpy „where' eine Spalte zu einem DataFrame mit mehr als zwei Bedingungen hinzu?

Wie füge ich mit Numpy „where' eine Spalte zu einem DataFrame mit mehr als zwei Bedingungen hinzu?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-19 13:02:02491Durchsuche

How to Add a Column to a DataFrame Using Numpy

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn