나는이 6 개 열 (에 (그것이 경우 - 다른 사다리를 사용) 내 사용자 지정 기능을 적용 할 ERI_Hispanic
, ERI_AmerInd_AKNatv
, ERI_Asian
, ERI_Black_Afr.Amer
, ERI_HI_PacIsl
, ERI_White
내 dataframe의 각 행).
다른 질문과 다른 방법을 시도했지만 여전히 내 문제에 대한 올바른 답변을 찾지 못하는 것 같습니다. 이것의 중요한 부분은 사람이 히스패닉으로 간주되면 다른 것으로 계산할 수 없다는 것입니다. 다른 민족 열에 "1"이 있어도 둘 이상의 인종이 아닌 히스패닉으로 간주됩니다. 마찬가지로 모든 ERI 열의 합계가 1보다 크면 두 개 이상의 인종으로 계산되며 고유 한 민족으로 계산할 수 없습니다 (히스패닉 제외). 잘만되면 이것이 의미가 있습니다. 어떤 도움이라도 대단히 감사하겠습니다.
각 행을 통해 for 루프를 수행하는 것과 거의 같으며 각 레코드가 기준을 충족하면 하나의 목록에 추가되고 원본에서 제거됩니다.
아래 데이터 프레임에서 SQL의 다음 사양을 기반으로 새 열을 계산해야합니다.
========================= CRITERIA ========================= =======
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”
의견 : 히스패닉계 ERI 플래그가 True (1) 인 경우 직원은 "히스패닉"으로 분류됩니다.
코멘트 : 비 히스패닉 ERI 플래그가 둘 이상인 경우 "2 이상"을 반환하십시오.
====================== 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