Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas - CategoricalIndex의 카테고리를 순서 없이 설정하는 방법

Pandas에서 CategoricalIndex의 카테고리를 순서가 없는(unordered) 상태로 변경하려면 as_unordered() 메서드를 사용하면 됩니다. 이 메서드는 기존에 순서가 지정된(ordered) 범주형 인덱스를 순서 없는 상태로 변환해 줍니다.

1. 라이브러리 임포트

먼저 필요한 라이브러리를 임포트합니다.

import pandas as pd

2. 순서가 있는 CategoricalIndex 생성

categories 매개변수를 사용하여 카테고리를 설정하고, ordered 매개변수에 True 값을 지정하여 순서가 있는 범주형 인덱스를 만듭니다.

catIndex = pd.CategoricalIndex(["p", "q", "r", "s", "p", "q", "r", "s"], ordered=True, categories=["p", "q", "r", "s"])

3. 카테고리를 순서 없이 변경

as_unordered() 메서드를 호출하면 카테고리의 순서 속성이 제거됩니다.

print("\nCategoricalIndex unordered...\n", catIndex.as_unordered())

전체 예제 코드

다음은 위 과정을 모두 포함한 전체 코드입니다.

import pandas as pd

# categories 매개변수로 카테고리 설정
# ordered 매개변수에 True를 지정하여 순서가 있는 범주형으로 처리
catIndex = pd.CategoricalIndex(["p", "q", "r", "s", "p", "q", "r", "s"], ordered=True, categories=["p", "q", "r", "s"])

# CategoricalIndex 출력
print("CategoricalIndex...\n", catIndex)

# 카테고리 확인
print("\nDisplaying Categories from CategoricalIndex...\n", catIndex.categories)

# 카테고리를 순서 없이 변경
print("\nCategoricalIndex unordered...\n", catIndex.as_unordered())

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

CategoricalIndex...
CategoricalIndex(['p', 'q', 'r', 's', 'p', 'q', 'r', 's'], categories=['p', 'q', 'r', 's'], ordered=True, dtype='category')

Displaying Categories from CategoricalIndex...
Index(['p', 'q', 'r', 's'], dtype='object')

CategoricalIndex unordered...
CategoricalIndex(['p', 'q', 'r', 's', 'p', 'q', 'r', 's'], categories=['p', 'q', 'r', 's'], ordered=False, dtype='category')

정리

출력 결과를 보면 as_unordered() 메서드 호출 전에는 ordered=True였지만, 호출 후에는 ordered=False로 변경된 것을 확인할 수 있습니다. 참고로 반대 동작을 수행하는 as_ordered() 메서드도 있으며, 이를 사용하면 순서 없는 범주형 인덱스를 다시 순서가 있는 상태로 변환할 수 있습니다.