Heim > Backend-Entwicklung > Python-Tutorial > Wie erstelle ich eine neue Spalte mit bedingungsbasierten Werten in Pandas?

Wie erstelle ich eine neue Spalte mit bedingungsbasierten Werten in Pandas?

Barbara Streisand
Freigeben: 2024-12-22 16:56:10
Original
451 Leute haben es durchsucht

How to Create a New Column with Condition-Based Values in Pandas?

Erstellen einer neuen Spalte mit bedingungsbasierten Werten

Diese Frage untersucht, wie man einem bestimmten Datenrahmen eine neue Spalte (Farbe) hinzufügt. Die Bedingung ist, dass die Farbe auf „Grün“ gesetzt werden soll, wenn der entsprechende Wert in der Spalte „Set“ „Z“ ist, andernfalls „Rot“.

Lösung mit Numpy Wo:

Für Szenarien mit nur zwei Auswahlmöglichkeiten kann die np.where-Methode verwendet werden. Hier ist der Code:

df['color'] = np.where(df['Set'] == 'Z', 'green', 'red')
Nach dem Login kopieren

Dieser Ansatz weist effektiv „Grün“ den Zeilen zu, in denen Set „Z“ und ansonsten „Rot“ ist.

Lösung mit Numpy Select:

In Fällen, in denen mehr als zwei Bedingungen vorliegen, kann np.select eingesetzt werden. Nehmen wir an, die Farbe sollte die folgenden Kriterien erfüllen:

  • 'gelb', wenn Set 'Z' und Typ 'A' ist
  • 'blau', wenn Set 'Z' und Typ ist ist 'B'
  • 'lila', wenn Typ 'B'
  • 'schwarz' ist andernfalls

In diesem Szenario wäre der Code:

conditions = [
    (df['Set'] == 'Z') & (df['Type'] == 'A'),
    (df['Set'] == 'Z') & (df['Type'] == 'B'),
    (df['Type'] == 'B')]
choices = ['yellow', 'blue', 'purple']
df['color'] = np.select(conditions, choices, default='black')
Nach dem Login kopieren

Diese Lösung ermöglicht eine flexible und detaillierte bedingungsbasierte Wertzuweisung für die neue Spalte.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine neue Spalte mit bedingungsbasierten Werten in Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage