„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Python Pandas Data Frame Bedingte Spaltenerstellung Methode

Python Pandas Data Frame Bedingte Spaltenerstellung Methode

Gepostet am 2025-04-16
Durchsuche:860

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

Erstellen einer Spalte, die auf bedingter Logik in Python

basiert, wenn wir mit Pandas -Datenfrüchten arbeiten, wirken wir häufig auf Szenarien, in denen wir eine neue Spalte erstellen müssen, die auf einer bedingten Überprüfung zwischen vorhandenen Kolumnen basiert. Dies kann unter Verwendung der Np.where -Funktion mit verschachtelten Bedingungen erreicht werden.

, um den folgenden DataFrame zu veranschaulichen:

import pandas as pd

df = pd.DataFrame({
    "A": [2, 3, 1],
    "B": [2, 1, 3]
})

wir wollen eine neue spalte c erstellen, basierend auf den folgenden kriterien:

    ; -1.
  • verwendet eine benutzerdefinierte Funktion
Ein Ansatz besteht darin, eine benutzerdefinierte Funktion zu erstellen, die die bedingte Logik implementiert und auf den DataFrame anwendet:

def f (row): Wenn row ['a'] == row ['b']: Rückkehr 0 elif row ['a']> row ['b']: Rückkehr 1 anders: Rückkehr -1 df ['c'] = df.apply (f, axis = 1)

verwenden np.where
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)
Alternativ können wir die Np.where -Funktion verwenden, um der neuen Spalte direkt Werte zuzuweisen:

DF ['C']. df ['b'], 0, np.where (df ['a']> df ['b'], 1, -1)

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

df['C'] = np.where(df['A'] == df['B'], 0, np.where(df['A'] > df['B'], 1, -1))
Freigabeerklärung Dieser Artikel wird reproduziert unter: 1729378097 Wenn ein Verstoß vorliegt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3