숫자를 범주로 구간화하기
범위를 나눌 때 cut과 qcut을 사용합니다
숫자를 범주로 구간화하기은(는) CoddyKit의 무료 Data Science Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Data Science Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Data Science Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
숫자를 구간으로 나누는 이유
때로는 나이와 같은 원시 숫자보다 청년이나 노년 같은 레이블이 더 많은 정보를 전달합니다. 구간화하면 연속적인 값이 정돈된 그룹으로 바뀝니다. 🪣
구간이 패턴을 드러냅니다
모델과 차트는 정확한 수치보다 범주를 더 명확하게 읽는 경우가 많습니다. 가격을 낮음, 중간, 높음으로 묶으면 그렇지 않았다면 놓쳤을 추세가 드러날 수 있습니다.
pandas cut 알아보기
cut 함수는 사용자가 정한 경계에 따라 열을 구간으로 나눕니다. 경계를 지정하면 각 값에 맞는 레이블을 자동으로 붙여 줍니다.
import pandas as pd
ages = pd.Series([7, 22, 45, 70])
bins = pd.cut(ages, [0, 18, 60, 100])구간에 이름 붙이기
레이블을 전달하면 각 구간이 구간 표시 대신 이해하기 쉬운 이름을 갖게 됩니다. 이제 출력이 수학적 범위가 아니라 실제 범주처럼 보입니다.
pd.cut(ages, [0, 18, 60, 100],
labels=['child', 'adult', 'senior'])오른쪽 경계는 포함됩니다
기본적으로 cut은 각 구간의 오른쪽 경계를 포함하고 왼쪽 경계는 제외합니다. 따라서 값이 18이면 두 번째 구간이 아니라 첫 번째 구간에 들어갑니다.
right=False로 반대로 설정하기
왼쪽 경계를 포함하고 싶으신가요? right=False로 설정하면 경계 처리 방식이 반대로 바뀌어 18이 다음 구간으로 이동합니다.
pd.cut(ages, [0, 18, 60, 100], right=False)동일한 너비의 구간
경계 대신 하나의 숫자를 cut에 전달하면 값의 전체 범위에 걸쳐 동일한 너비의 구간을 해당 개수만큼 자동으로 만듭니다.
pd.cut(ages, 4)pandas qcut 알아보기
qcut 함수는 분위수를 기준으로 나누므로 각 구간에 대략 같은 수의 행이 들어갑니다. 데이터가 한쪽으로 치우쳐 있을 때 특히 유용합니다.
pd.qcut(ages, 4)cut과 qcut 비교
가격 구간처럼 고정되고 의미 있는 경계를 사용하려면 cut을 사용하세요. 소득을 사분위수처럼 균형 잡힌 그룹으로 나누려면 qcut을 사용하세요.
구간이 특성이 됩니다
그 결과는 범주형 열이 되며, 이를 DataFrame에 바로 추가해 그룹화, 시각화 또는 모델 입력에 사용할 수 있습니다.
df['age_group'] = pd.cut(df['age'],
[0, 18, 60, 100])범위를 벗어난 값에 주의하기
구간 경계 밖의 값은 NaN이 됩니다. 실제 최솟값과 최댓값을 포함하도록 경계를 항상 설정하세요. 그렇지 않으면 행이 조용히 사라집니다.
빠른 확인
각 그룹에 거의 같은 수의 행이 들어가는 네 그룹을 만들려고 합니다. 어떤 도구가 적합할까요?
요약: 구간화
이제 숫자를 레이블이 있는 그룹으로 묶는 방법을 배웠습니다. 선택한 경계와 동일한 너비에는 cut을, 동일한 개수에는 qcut을 사용합니다. 경계에 주의하면 원시 값이 유용한 특성으로 바뀝니다. 🎉
AI 튜터와 함께 Python을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 30
- 레슨
- 120
자주 묻는 질문
“숫자를 범주로 구간화하기” 강의는 무료인가요?
네 — “숫자를 범주로 구간화하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Data Science Academy 강의 전체를 잠금 해제할 수 있습니다. Data Science Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“숫자를 범주로 구간화하기”에서 뭘 배우나요?
범위를 나눌 때 cut과 qcut을 사용합니다 브라우저에서 직접 실행하는 실습 코드로 Data Science Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Data Science Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Data Science Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“숫자를 범주로 구간화하기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Data Science Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Data Science Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 숫자를 범주로 구간화하기
- 범주형 열 인코딩하기
- 숫자 크기 조정과 정규화
- 날짜와 텍스트에서 특성 만들기