Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle ich eine Spalte basierend auf If-Else-Else-Bedingungen in Pandas?

Wie erstelle ich eine Spalte basierend auf If-Else-Else-Bedingungen in Pandas?

DDD
DDDOriginal
2024-10-20 06:55:29192Durchsuche

How to Create a Column Based on If-Else-Else Conditions in Pandas?

Erstellen einer Spalte mit If-Else-Else-Bedingungen in Pandas

So erstellen Sie eine neue Spalte basierend auf einer If-Elif-Else-Bedingung , gibt es zwei Hauptansätze:

Nicht-vektorisierter Ansatz

Dieser Ansatz beinhaltet die Definition einer Funktion, die auf Zeilen operiert:

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

Dann , wenden Sie es auf den Datenrahmen entlang der Zeilen an:

<code class="python">df['C'] = df.apply(f, axis=1)</code>

Vektorisierter Ansatz

Der vektorisierte Ansatz verwendet np.where, um die neue Spalte direkt zu erstellen:

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

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

Hier ist ein Beispiel mit dem bereitgestellten Datenrahmen:

Eingabedatenrahmen

A B
2 2
3 1
1 3

Ausgabedatenrahmen

A B C
2 2 0
3 1 1
1 3 -1

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Spalte basierend auf If-Else-Else-Bedingungen in Pandas?. 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