Pandas에서 데이터 값 분해
Preet Sanghavi
2023년6월21일
이 튜토리얼에서는 Pandas에서 인수 분해하는 방법을 배웁니다. pandas.factorize()
기능을 사용하여 작업을 수행합니다.
다른 값을 인식함으로써 pandas.factorize()
메서드는 배열의 숫자 표현을 얻는 데 도움이 됩니다.
먼저 Pandas
및 numpy
라이브러리와 기타 필수 라이브러리를 가져옵니다.
import numpy as np
import pandas as pd
from pandas.api.types import CategoricalDtype
Pandas에서 pandas.factorize()
기능 사용
이제 문자가 포함된 목록을 factorize()
함수에 전달하여 레이블과 고유한 값을 반환합니다. 레이블과 고유 값을 별도로 출력합니다.
labels, uniques = pd.factorize(["b", "d", "d", "c", "a", "c", "a", "b"])
위의 코드는 문자 및 고유 값의 숫자 표현 목록을 반환합니다.
아래 코드를 사용하여 출력을 봅시다.
print("Numeric Representation : \n", labels)
print("Unique Values : \n", uniques)
Numeric Representation :
[0 1 1 2 3 2 3 0]
Unique Values :
['b' 'd' 'c' 'a']
아래 코드를 사용하여 알파벳을 정렬할 수도 있습니다.
labels, uniques = pd.factorize(["b", "d", "d", "c", "a", "c", "a", "b"], sort=True)
위의 수정 사항에 대한 출력은 다음과 같습니다.
Numeric Representation :
[1 3 3 2 0 2 0 1]
Unique Values :
['a' 'b' 'c' 'd']
범주를 사용하여 데이터 값을 범주로 나눌 수도 있으며 이 경우 고유한 값이 달라집니다. 이를 위해 pd.Categorical()
함수를 사용하여 데이터 값을 나눕니다.
a = pd.Categorical(["a", "a", "c"], categories=["a", "b", "c"])
label3, unique3 = pd.factorize(a)
이제 위 코드의 출력을 살펴보겠습니다.
Numeric Representation :
[0 0 1]
Unique Values :
['a', 'c']
Categories (3, object): ['a', 'b', 'c']
위 출력에서 고유한 값 목록에 고유한 값만 포함되어 있음을 알 수 있습니다.
따라서 다음 접근 방식을 사용하여 Pandas를 사용하여 데이터 값을 분해할 수 있습니다.
작가: Preet Sanghavi