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

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

Susan Sarandon
풀어 주다: 2024-12-18 20:27:10
원래의
659명이 탐색했습니다.

How to Create a New Race Label Column in Pandas Based on Multiple Existing Columns?

Pandas의 여러 열 값을 기반으로 새 열 만들기

여러 열의 값을 기반으로 Pandas 데이터 프레임에 새 열을 만들려면 다른 열에서는 apply() 함수를 활용할 수 있습니다. 이 기능을 사용하면 데이터프레임의 각 행에 사용자 정의 함수를 적용할 수 있습니다.

이 경우 다음 기준에 따라 인종 레이블이 있는 새 열을 생성하려고 합니다.

인종 라벨 기준:

  • ERI_Hispanic 열이 1인 경우 라벨은 다음과 같습니다. "Hispanic."
  • 그렇지 않고 나머지 ERI 열의 합이 1보다 크면 레이블은 "2개 이상"입니다.
  • Else ERI_AmerInd_AKNatv 열이 1이면 레이블은 "Two or More"입니다. "A/I AK Native."
  • 그렇지 않고 ERI_Asian 열이 1이면 레이블은 "Asian."
  • ERI_Black_Afr.Amer 열이 1이면 레이블은 "Black/AA"입니다.
  • ERI_HI_PacIsl 열이 1이면 레이블은 "Haw/Pac"입니다. Isl."
  • Else ERI_White 열이 1이면 레이블은 "White."

인종 라벨링을 위한 사용자 정의 함수:

인종 라벨링을 위한 사용자 정의 함수를 정의하려면 다음 코드를 사용할 수 있습니다.

def label_race(row):
   if row['ERI_Hispanic'] == 1:
      return 'Hispanic'
   if row['ERI_AmerInd_AKNatv'] + row['ERI_Asian'] + row['ERI_Black_Afr.Amer'] + row['ERI_HI_PacIsl'] + row['ERI_White'] > 1:
      return 'Two Or More'
   if row['ERI_AmerInd_AKNatv'] == 1:
      return 'A/I AK Native'
   if row['ERI_Asian'] == 1:
      return 'Asian'
   if row['ERI_Black_Afr.Amer'] == 1:
      return 'Black/AA'
   if row['ERI_HI_PacIsl'] == 1:
      return 'Haw/Pac Isl.'
   if row['ERI_White'] == 1:
      return 'White'
   return 'Other'
로그인 후 복사

맞춤 기능 적용 apply():

label_race 함수를 데이터 프레임의 각 행에 적용하려면 Apply() 함수를 axis=1 인수와 함께 사용할 수 있습니다. 이 함수는 각 행에 함수가 적용되어야 함을 지정합니다. 행:

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

이렇게 하면 적절한 인종 레이블이 있는 데이터 프레임에 race_label이라는 새 열이 생성됩니다.

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

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