Pandas에서 데이터 프레임으로 작업할 때 다음을 기반으로 새 열을 생성해야 할 수 있습니다. 여러 기존 열의 값. 새 열의 값을 결정하기 위해 행별로 사용자 지정 함수를 열 집합에 적용해야 하는 경우 일반적인 시나리오가 발생합니다.
6개의 인종 관련 데이터 프레임을 고려하세요. 표시 열:
df = pd.DataFrame({ 'ERI_Hispanic': [0, 1, 0, 0, 0, 0, 0, 0, 0, 0], 'ERI_AmerInd_AKNatv': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'ERI_Asian': [0, 0, 0, 0, 0, 0, 1, 0, 0, 0], 'ERI_Black_Afr.Amer': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'ERI_HI_PacIsl': [0, 0, 0, 0, 0, 0, 0, 1, 0, 0], 'ERI_White': [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] })
목표는 다음을 기준으로 각 행을 분류하는 'race_label'이라는 새 열을 만드는 것입니다. 기준:
해결책에는 두 단계가 포함됩니다. 분류를 수행하는 사용자 정의 함수를 생성하고 해당 함수를 데이터프레임에 행 단위로 적용합니다.
def label_race(row): if row['ERI_Hispanic'] == 1: return 'Hispanic' elif row['ERI_AmerInd_AKNatv'] + row['ERI_Asian'] + row['ERI_Black_Afr.Amer'] + row['ERI_HI_PacIsl'] + row['ERI_White'] > 1: return 'Two or More' elif row['ERI_AmerInd_AKNatv'] == 1: return 'A/I AK Native' elif row['ERI_Asian'] == 1: return 'Asian' elif row['ERI_Black_Afr.Amer'] == 1: return 'Black/AA' elif row['ERI_HI_PacIsl'] == 1: return 'Haw/Pac Isl.' elif row['ERI_White'] == 1: return 'White' else: return 'Other'
이 함수는 데이터 프레임의 행을 입력으로 사용하고 제공된 기준에 따라 적절한 인종 레이블을 반환합니다.
새 'race_label' 열을 생성하려면 축=1 매개변수와 함께 apply() 함수를 사용하여 데이터프레임의 각 행에 label_race 함수를 적용하세요.
df['race_label'] = df.apply(label_race, axis=1)
새 열이 포함된 결과 데이터 프레임이 아래에 표시됩니다.
ERI_Hispanic ERI_AmerInd_AKNatv ERI_Asian ERI_Black_Afr.Amer ERI_HI_PacIsl ERI_White \ 0 0 0 0 0 0 1 1 1 0 0 0 0 0 2 0 0 0 0 0 1 3 0 0 0 0 0 1 4 0 0 0 0 0 0 5 0 0 0 0 0 1 6 0 0 1 0 0 1 7 0 0 0 0 1 1 8 0 0 0 1 0 0 9 0 0 0 0 0 1 race_label 0 White 1 Hispanic 2 White 3 White 4 Other 5 White 6 Two or More 7 White 8 Haw/Pac Isl. 9 White
위 내용은 여러 인종 열을 기반으로 Pandas에서 새로운 인종 라벨 열을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!