Ich mag , dass meine benutzerdefinierte Funktion anzuwenden (es verwendet einen if-else - Leiter) zu diesen sechs Säulen ( ERI_Hispanic
, ERI_AmerInd_AKNatv
, ERI_Asian
, ERI_Black_Afr.Amer
, ERI_HI_PacIsl
, ERI_White
) in jeder Reihe meines Datenrahmen.
Ich habe andere Methoden als andere Fragen ausprobiert, kann aber immer noch nicht die richtige Antwort für mein Problem finden. Das Entscheidende dabei ist, dass die Person, wenn sie als Hispanic gezählt wird, nicht als etwas anderes gezählt werden kann. Selbst wenn sie eine "1" in einer anderen ethnischen Spalte haben, werden sie immer noch als Hispanic gezählt, nicht als zwei oder mehr Rassen. Wenn die Summe aller ERI-Spalten größer als 1 ist, werden sie als zwei oder mehr Rassen gezählt und können nicht als eindeutige ethnische Zugehörigkeit gezählt werden (außer Hispanic). Hoffentlich macht das Sinn. Jede Hilfe wird sehr geschätzt.
Es ist fast so, als würde man eine for-Schleife durch jede Zeile führen. Wenn jeder Datensatz ein Kriterium erfüllt, werden sie zu einer Liste hinzugefügt und aus dem Original entfernt.
Aus dem folgenden Datenrahmen muss ich eine neue Spalte basierend auf der folgenden Spezifikation in SQL berechnen:
========================= KRITERIEN ======================== =======
IF [ERI_Hispanic] = 1 THEN RETURN “Hispanic”
ELSE IF SUM([ERI_AmerInd_AKNatv] + [ERI_Asian] + [ERI_Black_Afr.Amer] + [ERI_HI_PacIsl] + [ERI_White]) > 1 THEN RETURN “Two or More”
ELSE IF [ERI_AmerInd_AKNatv] = 1 THEN RETURN “A/I AK Native”
ELSE IF [ERI_Asian] = 1 THEN RETURN “Asian”
ELSE IF [ERI_Black_Afr.Amer] = 1 THEN RETURN “Black/AA”
ELSE IF [ERI_HI_PacIsl] = 1 THEN RETURN “Haw/Pac Isl.”
ELSE IF [ERI_White] = 1 THEN RETURN “White”
Kommentar: Wenn das ERI-Flag für Hispanic True ist (1), wird der Mitarbeiter als „Hispanic“ klassifiziert.
Kommentar: Wenn mehr als 1 nicht-hispanisches ERI-Flag wahr ist, geben Sie "Zwei oder mehr" zurück.
===================== DATAFRAME ============================
lname fname rno_cd eri_afr_amer eri_asian eri_hawaiian eri_hispanic eri_nat_amer eri_white rno_defined
0 MOST JEFF E 0 0 0 0 0 1 White
1 CRUISE TOM E 0 0 0 1 0 0 White
2 DEPP JOHNNY 0 0 0 0 0 1 Unknown
3 DICAP LEO 0 0 0 0 0 1 Unknown
4 BRANDO MARLON E 0 0 0 0 0 0 White
5 HANKS TOM 0 0 0 0 0 1 Unknown
6 DENIRO ROBERT E 0 1 0 0 0 1 White
7 PACINO AL E 0 0 0 0 0 1 White
8 WILLIAMS ROBIN E 0 0 1 0 0 0 White
9 EASTWOOD CLINT E 0 0 0 0 0 1 White