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:
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))
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