반응형
Pandas cut 함수: 데이터 구간 분할의 기초
데이터 분석을 위한 Pandas 라이브러리에서 cut 함수는 데이터를 구간으로 나누는 데 매우 유용한 도구입니다. 이 포스팅에서는 pandas.cut 함수를 사용하여 어떻게 데이터를 효과적으로 구간으로 분할할 수 있는지에 대해 설명하고 예제를 통해 시연하겠습니다.
Pandas cut 함수 소개
pandas.cut 함수는 주어진 데이터를 명시된 구간으로 나누어 각 데이터 포인트가 속하는 구간을 찾아주는 함수입니다. 이 기능은 대량의 연속 데이터에 대한 범주형 변수를 생성할 때 많이 사용됩니다. 특히, 특정 구간에 따라 데이터를 그룹화하려는 경우 유용합니다.
함수 시그니처
pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)
매개변수:
- x: 구간으로 나눌 데이터를 포함하는 1차원 배열입니다.
- bins: 데이터 나눌 구간의 경계 값 또는 개수입니다.
- right: 구간의 경계가 포함되는지를 결정하는 불리언 값입니다. 기본값은 True입니다.
- labels: 생성된 구간에 대한 레이블을 지정합니다.
- retbins: 진짜 구간의 경계를 반환할지를 결정하는 불리언 값입니다.
- precision: 경계 값을 반올림할 소수점 자릿수입니다.
- include_lowest: 첫 구간의 최솟값 포함 여부입니다.
반환 값:
- 주어진 데이터에 대한 구간 레이블 배열을 반환합니다.
사용 예제
기본 예제
다음은 pandas.cut 함수를 사용하여 수치형 데이터를 구간으로 나누는 기본적인 예제입니다.
import pandas as pd
# 샘플 데이터 생성
data = [1, 7, 5, 3, 8, 10, 12, 15]
# 구간 생성
bins = [0, 5, 10, 15]
# 데이터 구간 분할
categories = pd.cut(data, bins)
print(categories)
# 출력:
# [(0, 5], (5, 10], (0, 5], (0, 5], (5, 10], (5, 10], (10, 15], (10, 15]]
# Length: 8, Categories (3, interval[int64, right]): [(0, 5] < (5, 10] < (10, 15]]
라벨 추가와 세부 조정
구간에 이름을 부여하면 결과를 더욱 직관적으로 이해할 수 있습니다.
import pandas as pd
# 샘플 데이터 생성
data = [1, 7, 5, 3, 8, 10, 12, 15]
# 구간 생성
bins = [0, 5, 10, 15]
labels = ['Low', 'Medium', 'High']
# 데이터 구간 분할
categories = pd.cut(data, bins, labels=labels)
print(categories)
# 출력:
# [Low, Medium, Low, Low, Medium, Medium, High, High]
# Categories (3, object): [Low < Medium < High]
결론
pandas.cut 함수를 사용하면 연속적인 수치 데이터를 구간으로 쉽게 나눌 수 있습니다. 이를 통해 데이터 분석 과정에서 더 많은 통찰력을 얻고, 구간-facilitated 범주형 데이터를 생성할 수 있습니다. 구간의 경계와 선택된 라벨을 통해 데이터 인사이트를 한층 더 깊이 있게 들여다보세요!
- 데이터를 효과적으로 그룹화하고 인사이트를 얻으세요!
- 지금 바로 pandas.cut을 활용하여 구간을 나누는 방법을 시도해 보세요!
반응형
'Python > Pandas' 카테고리의 다른 글
pandas KeyError: 'nonexistent_column' 오류 해결하기 (0) | 2025.05.08 |
---|---|
pandas KeyError: 'index' 오류 해결하기 (0) | 2025.05.08 |
pandas.concat으로 데이터 프레임 합치기 (0) | 2025.05.08 |
pandas IndexError: cannot mask with array containing NA / NaN values 오류 해결하기 (0) | 2025.05.07 |
pandas IndexError: The indices for the DataFrame are not aligned 오류 해결하기 (0) | 2025.05.07 |