Wie führe ich die Erstellung bedingter Spalten in Pythons Pandas DataFrames durch?

Linda Hamilton
Freigeben: 2024-10-20 06:48:29
Original
663 Leute haben es durchsucht

How to Perform Conditional Column Creation in Python's Pandas DataFrames?

Erstellen einer Spalte basierend auf bedingter Logik in Python

Bei der Arbeit mit Pandas DataFrames stoßen wir oft auf Szenarien, in denen wir eine neue erstellen müssen Spalte basierend auf einer bedingten Prüfung zwischen vorhandenen Spalten. Dies kann mithilfe der Funktion np.where mit verschachtelten Bedingungen erreicht werden.

Betrachten Sie zur Veranschaulichung den folgenden DataFrame:

<code class="python">import pandas as pd

df = pd.DataFrame({
    "A": [2, 3, 1],
    "B": [2, 1, 3]
})</code>
Nach dem Login kopieren

Wir möchten eine neue Spalte C basierend auf den folgenden Kriterien erstellen :

  • Wenn A gleich B ist, sollte C 0 sein.
  • Wenn A größer als B ist, sollte C 1 sein.
  • Wenn A kleiner als B ist , C sollte -1 sein.

Verwenden einer benutzerdefinierten Funktion

Ein Ansatz besteht darin, eine benutzerdefinierte Funktion zu erstellen, die die bedingte Logik implementiert, und sie auf die anzuwenden DataFrame:

<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

Verwendung von np.where

Alternativ können wir die Funktion np.where verwenden, um der neuen Spalte Werte direkt zuzuweisen:

<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

Dieser Ansatz ist vektorisiert und für große Datensätze effizienter.

Ergebnis:

Beide Ansätze führen zu folgendem Ergebnis:

<code class="python">print(df)

   A  B  C
0  2  2  0
1  3  1  1
2  1  3 -1</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie führe ich die Erstellung bedingter Spalten in Pythons Pandas DataFrames durch?. 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!