Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich eine neue Spalte in Pandas basierend auf bedingter Logik über mehrere Spalten hinweg?

Wie erstelle ich eine neue Spalte in Pandas basierend auf bedingter Logik über mehrere Spalten hinweg?

Barbara Streisand
Barbara StreisandOriginal
2024-12-10 19:30:12167Durchsuche

How to Create a New Column in Pandas Based on Conditional Logic Across Multiple Columns?

Neue Spalte basierend auf bedingten Kriterien aus mehreren Spalten erstellen

Um eine neue Spalte basierend auf bedingten Kriterien aus mehreren Spalten zu erstellen, wenden Sie Ihre benutzerdefinierte Spalte an Funktion auf alle Zeilen in Ihrem DataFrame mithilfe der apply()-Methode anwenden.

import pandas as pd

def label_race(row):
    if row['eri_hispanic'] == 1:
        return 'Hispanic'
    elif row['eri_afr_amer'] + row['eri_asian'] + row['eri_hawaiian'] + row['eri_nat_amer'] + row['eri_white'] > 1:
        return 'Two Or More'
    elif row['eri_nat_amer'] == 1:
        return 'A/I AK Native'
    elif row['eri_asian'] == 1:
        return 'Asian'
    elif row['eri_afr_amer'] == 1:
        return 'Black/AA'
    elif row['eri_hawaiian'] == 1:
        return 'Haw/Pac Isl.'
    elif row['eri_white'] == 1:
        return 'White'
    else:
        return 'Other'

df['race_label'] = df.apply(label_race, axis=1)

Der resultierende DataFrame enthält die neue Spalte, Race_label, mit den entsprechenden Rennlabels basierend auf den von Ihnen angegebenen Kriterien.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine neue Spalte in Pandas basierend auf bedingter Logik über mehrere Spalten hinweg?. 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