숫자 구간화
Coddy Machine Learning 여정의 머신러닝을 위한 통계 섹션에 포함된 레슨. 64개 중 54번째.
항공사는 수하물의 무게를 그램 단위가 아니라 무게 등급에 따라 요금을 부과합니다. 구간화는 범위만 중요할 때 숫자를 구간으로 나눕니다. 이러한 구간을 빈이라고 합니다:
pd.cut은 값, 경계값, 그리고 각 구간에 해당하는 레이블을 하나씩 받습니다:
bags = pd.DataFrame({"kg": [5.5, 23.0, 18.2, 30.5, 7.0, 12.4]})
bags["class"] = pd.cut(bags["kg"], bins=[0, 7, 23, 32],
labels=["cabin", "standard", "heavy"])
print(bags["class"].value_counts().sort_index())다음이 출력됩니다:
class
cabin 2
standard 3
heavy 1
Name: count, dtype: int64각 구간에는 오른쪽 경계가 포함되므로, 7.0 kg은 여전히 기내 수하물에 해당하고 경계 밖의 값은 NaN이 됩니다.
.sort_index()는 구간을 가장 밝은 것부터 순서대로 나열합니다.
챌린지
중급동물원에서는 members.csv의 구성원을 age에 따라 분류합니다. child는 12세 이하, teen은 13~17세, adult는 18~64세, senior는 65~100세입니다. 프로그램은 group을 입력받습니다.
- 각 구성원의 연령 그룹을
group열로 추가하세요. - 각 그룹의 구성원 수를 출력하세요.
child를 먼저 출력합니다. - 입력받은 그룹의 평균
visits를 소수점 이하 2자리까지 출력하세요.
규모가 더 작은 동물원에서 입력값이 teen인 경우:
group
child 1
teen 2
adult 2
senior 1
Name: count, dtype: int64
Mean visits for teen: 10.5직접 해보기
import pandas as pd
members = pd.read_csv("members.csv")
group = input()
# 아래에 코드를 작성하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
머신러닝을 위한 통계의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러