> 백엔드 개발 > 파이썬 튜토리얼 > 여러 인종 열을 기반으로 Pandas에서 새로운 인종 분류 열을 만드는 방법은 무엇입니까?

여러 인종 열을 기반으로 Pandas에서 새로운 인종 분류 열을 만드는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-20 02:11:09
원래의
200명이 탐색했습니다.

How to Create a New Race Classification Column in Pandas Based on Multiple Ethnicity Columns?

Pandas에서 여러 열의 값을 기반으로 새 열 생성

Pandas에서는 다른 여러 열에 값이 있습니다. 이 기능은 복잡한 논리 또는 사용자 정의 함수를 적용하여 데이터에서 의미 있는 통찰력을 도출할 때 유용합니다.

예시적인 예로 6개의 민족 열의 값을 기반으로 "race_label"이라는 새 열을 생성하는 작업을 생각해 보세요. : ERI_Hispanic, ERI_AmerInd_AKNatv, ERI_Asian, ERI_Black_Afr.Amer, ERI_HI_PacIsl 및 ERI_White. 요구 사항은 다음 기준을 사용하여 인종을 기준으로 개인을 분류하는 것입니다.

  1. 개인이 히스패닉으로 간주되면 "히스패닉"으로 분류됩니다.
  2. 히스패닉계가 아닌 모든 민족 플래그가 1보다 큰 경우 "2개 이상"으로 분류됩니다.
  3. 아메리칸 인디언/알래스카 원주민의 경우 'A/I AK 원주민'으로 분류됩니다.
  4. 아시아인으로 간주되면 '아시아인'으로 분류됩니다.
  5. 흑인/아프리카계 미국인으로 간주되는 경우 "흑인/AA"로 분류됩니다.
  6. 하와이 원주민/태평양 섬 주민으로 간주되는 경우는 다음과 같습니다. "Haw/Pac Isl"로 분류됩니다.
  7. 백인으로 계산되면 "백인"으로 분류됩니다.

해결책

이를 달성하려면 사용자 정의 함수와 Pandas apply() 함수가 모두 필요합니다.

  1. 사용자 정의 함수 정의:

    def label_race(row):
       if row['eri_hispanic'] == 1:
          return 'Hispanic'
       if row['eri_afr_amer'] + row['eri_asian'] + row['eri_hawaiian'] + row['eri_nat_amer'] + row['eri_white'] > 1:
          return 'Two Or More'
       if row['eri_nat_amer'] == 1:
          return 'A/I AK Native'
       if row['eri_asian'] == 1:
          return 'Asian'
       if row['eri_afr_amer'] == 1:
          return 'Black/AA'
       if row['eri_hawaiian'] == 1:
          return 'Haw/Pac Isl.'
       if row['eri_white'] == 1:
          return 'White'
       return 'Other'
    로그인 후 복사
  2. 다음을 사용하여 사용자 정의 함수 적용 Pandas:

    df['race_label'] = df.apply(label_race, axis=1)
    로그인 후 복사

이렇게 하면 입력 기준에 따라 각 행에 대한 적절한 분류가 포함된 "race_label"이라는 새 열이 Pandas 데이터 프레임에 생성됩니다.

사용자 정의 함수와 Pandas apply() 함수를 결합하면 여러 열에 적용된 복잡한 논리에서 파생된 새 열을 생성할 수 있습니다. 효율적인 데이터 분석 및 해석을 촉진합니다.

위 내용은 여러 인종 열을 기반으로 Pandas에서 새로운 인종 분류 열을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿