Я хочу применить свою пользовательскую функцию (она использует лестницу if-else) к этим шести столбцам (ERI_Hispanic, ERI_AMERIND_AKNATV , ERI_ASIAN , ERI_BLACK_AFR.AMER , ERI_HI_PACISL , ERI_WHITE ) в каждом ряду моего DataFrame. Критической частью этого является то, что если человек считается латиноамериканцем, его нельзя считать что -либо еще. Даже если у них есть «1» в другой колонке этнической принадлежности, они все еще считаются латиноамериканцами, а не две или более рас. Точно так же, если сумма всех столбцов ERI превышает 1, они считаются двумя или более расы и не могут считаться уникальной этнической принадлежностью (за исключением латиноамериканского языка). < /P>
Это почти как выполнение цикла для каждой строки, и если каждая запись соответствует критерию, они добавляются в один из них, и не удаляются из -за новой. На основе следующей спецификации в SQL:
критерии
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 для латиноамериканцев верен (1), сотрудник классифицируется как «латиноамериканский»
Комментарий: если более 1 флаг неиспанического ERI, верно, верните «два или более»
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
Подробнее здесь: https://stackoverflow.com/questions/268 ... n-of-multi
Создать новый столбец на основе значений из других столбцов / применить функцию нескольких столбцов, по строке в пандах ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Столбец Pandas на основе нескольких значений из других столбцов [Duplicate]
Anonymous » » в форуме Python - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Создайте новый столбец на основе других столбцов для данных временных рядов в пандах.
Anonymous » » в форуме Python - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Создайте новый столбец на основе других столбцов для данных временных рядов в пандах.
Anonymous » » в форуме Python - 0 Ответы
- 42 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Перераспределение значений нескольких столбцов на значения нескольких других столбцов
Anonymous » » в форуме Python - 0 Ответы
- 22 Просмотры
-
Последнее сообщение Anonymous
-