So erreichen Sie die Erstellung bedingter Spalten: Erkunden Sie If-Elif-Else in Pandas DataFrame?

Susan Sarandon
Freigeben: 2024-10-20 06:52:29
Original
733 Leute haben es durchsucht

How to Achieve Conditional Column Creation: Exploring If-Elif-Else in Pandas DataFrame?

Erstellen einer bedingten Spalte: If-Elif-Else in Pandas

Das gegebene Problem fordert das Hinzufügen einer neuen Spalte zu einem DataFrame basierend auf einer Reihe von bedingten Kriterien. Die Herausforderung besteht darin, diese Bedingungen zu implementieren und gleichzeitig die Effizienz und Lesbarkeit des Codes aufrechtzuerhalten.

Lösung mit Funktionsanwendung

Ein Ansatz besteht darin, eine Funktion zu erstellen, die jede Zeile dem gewünschten Ergebnis zuordnet basierend auf den Bedingungen:

<code class="python">def f(row):
    if row['A'] == row['B']:
        return 0
    elif row['A'] > row['B']:
        return 1
    else:
        return -1

df['C'] = df.apply(f, axis=1)</code>
Nach dem Login kopieren

Diese Methode ist lesbar und einfach zu implementieren, aber sie ist nicht vektorisiert und kann bei großen Datensätzen zu Leistungsproblemen führen.

Vektorisierte Lösung

Aus Effizienzgründen wird ein vektorisierter Ansatz mit der np.where-Funktion von NumPy empfohlen:

<code class="python">df['C'] = np.where(
    df['A'] == df['B'], 0, np.where(
    df['A'] > df['B'], 1, -1))</code>
Nach dem Login kopieren

Diese Operation führt die bedingte Auswahl elementweise auf dem DataFrame durch, was zu einer neuen Spalte führt mit den gewünschten Werten.

Dieser vektorisierte Ansatz bietet erhebliche Leistungsvorteile im Vergleich zur funktionsbasierten Methode. Es ermöglicht auch eine prägnantere und lesbarere Umsetzung der Bedingungskriterien.

Das obige ist der detaillierte Inhalt vonSo erreichen Sie die Erstellung bedingter Spalten: Erkunden Sie If-Elif-Else in Pandas DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!