Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich NumPy „where“ mit mehreren Bedingungen?

Wie verwende ich NumPy „where“ mit mehreren Bedingungen?

Susan Sarandon
Susan SarandonOriginal
2024-10-19 12:59:29620Durchsuche

How to Use NumPy

Numpy „where“ mit mehreren Bedingungen

Im Kontext der Datenanalyse ist es oft notwendig, benutzerdefinierte Bedingungen zu definieren und entsprechend unterschiedliche zuzuweisen Werte basierend auf diesen Bedingungen. Die „where“-Funktion von Numpy kann zur Bewältigung solcher Szenarien verwendet werden. Beim Umgang mit mehreren Bedingungen treten jedoch Herausforderungen auf.

Ein konkreter Fall besteht darin, einem Datenrahmen „df_energy“ eine neue Spalte „energy_class“ hinzuzufügen. Die „energy_class“-Werte werden basierend auf den folgenden Bedingungen zugewiesen:

  • „hoch“, wenn der „consumption_energy“-Wert größer als 400 ist
  • „mittel“, wenn der „consumption_energy“-Wert ist liegt zwischen 200 und 400
  • „niedrig“, wenn der „consumption_energy“-Wert weniger als 200 beträgt

Das aufgetretene Problem bestand darin, dass die Funktion np.where normalerweise nur zwei Bedingungen unterstützt.

Um dieses Problem zu beheben, kann die „select“-Funktion von Numpy verwendet werden. Hier ist ein Beispiel:

<code class="python">col         = 'consumption_energy'
conditions  = [ df2[col] >= 400, (df2[col] < 400) & (df2[col]> 200), df2[col] <= 200 ]
choices     = [ "high", 'medium', 'low' ]
    
df2["energy_class"] = np.select(conditions, choices, default=np.nan)</code>

Dieses Code-Snippet verwendet „np.select“, um mehrere Bedingungen auszuwerten und Werte aus der entsprechenden „Auswahl“-Liste zuzuweisen. Der Parameter „default“ wird verwendet, um alle Fälle zu behandeln, die die angegebenen Bedingungen nicht erfüllen.

Das obige ist der detaillierte Inhalt vonWie verwende ich NumPy „where“ mit mehreren Bedingungen?. 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