>백엔드 개발 >파이썬 튜토리얼 >Pandas 카테고리를 숫자 인덱스로 변환하는 방법은 무엇입니까?

Pandas 카테고리를 숫자 인덱스로 변환하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-29 03:44:02467검색

How to Convert Pandas Categories to Numerical Indices?

Pandas 카테고리를 숫자 인덱스로 변환

문제:

범주형 값이 포함된 데이터 프레임이 주어지면 작업은 변환하는 것입니다. 이러한 범주를 숫자 인덱스로 분류합니다. 다음과 같은 카테고리로 국가가 있다고 가정해 보겠습니다.

cc | temp
US | 37.0
CA | 12.0
US | 35.0
AU | 20.0

get_dummies를 사용하는 원-핫 인코딩 대신 목표는 각 국가에 cc_index = [1,2,1,3]과 같은 인덱스를 할당하는 것입니다. .

해결책:

Pandas 카테고리를 숫자 인덱스로 변환하려면 다음 단계를 따르세요.

  1. 다음 단계를 따르세요. 범주형 열:

    df.cc = pd.Categorical(df.cc)
  2. 범주 코드를 저장할 새 열을 만듭니다.

    df['code'] = df.cc.codes

이렇게 하면 데이터 프레임이 생성됩니다. 숫자 인덱스가 포함된 추가 코드 열 사용:

   cc  temp  code
0  US  37.0     2
1  CA  12.0     1
2  US  35.0     2
3  AU  20.0     0

또는 astype 메서드를 활용하여 범주형 열을 코드가 있는 범주형 열로 직접 변환할 수 있습니다:

df.cc.astype('category').codes

또 다른 옵션은 범주형 열을 새 데이터 프레임의 인덱스로 사용하는 것입니다.

df2 = pd.DataFrame(df.temp)
df2.index = pd.CategoricalIndex(df.cc)

위 내용은 Pandas 카테고리를 숫자 인덱스로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.