[Pandas] 데이터 구간 나누기 - cut, qcut
데이터를 구간차원으로 분할하고 정렬해야 하는 경우 cut()
, qcut()
을 사용할 수 있습니다.
동일한 길이로 나누는 방법은 cut()
, 동일한 개수로 나누는 방법은 qcut()
입니다.
cut 함수
- 데이터 구간을 불연속적으로 나눌 수 있습니다.
- 수치형과 범주형 변수의 구간을 나눌 때 유용합니다.
- 👉주의
- 모든 NA 값은 결과에서 NA가 됩니다.
- 범위에서 벗어난 값은 결과 Series 또는 Categorical 개체에서 NA가 됩니다.
주요 파라미터
x
: bining할 배열 (1차원)bins
: int, sequence of scalars, Intervalindex- bining 기준
int
: x 범위에 있는 동일한 너비의 빈 수 정의- x 의 범위는 x의 최솟값과 최댓값을 포함하도록 양쪽에서 0.1% 확장
스칼라 시퀀스
: 균일하지 않은 너비를 허용하는 빈 가장자리를 정의- x 범위의 확장은 수행되지 않음
IntervalIndex
: 사용할 정확한 bin 정의- Bin의 IntervalIndex는 겹쳐지면 안됨
right
: bool (기본값 : True)- bin이 가장 오른쪽 가장자리를 포함하는지 여부
- bin이 IntervalIndex 인 경우
right
인수 무시
labels
: 배열 또는 False (기본값 X)- 반환된 저장소의 레이블을 지정
- 결과 bin과 길이가 같아야 함
retbins
: bool (기본값 : False)- bin 반환 여부
- bin이 스칼라로 제공될 때 유용
precision
: 정수 (기본값 : 3)- bin 레이블을 저장하고 표시할 정밀도
include_lowest
: bool (기본값 : False)- 첫 번째 간격이 왼쪽을 포함해야 하는지 여부
duplicates
: {‘raise’, ‘drop’} 선택사항- bin 경계가 고유하지 않은 경우 ValueError 발생시키거나 고유하지 않은 항목을 삭제
ordered
: bool (기본값 : True)- 레이블이 정렬되었는지 여부
True
이면 범주 정렬False
이면 범주 정렬 X (레이블 제공해야 함)
qcut 함수
- 분위수 기반으로 이산화 기능을 제공합니다.
- 순위 또는 샘플 분위수를 기반으로 변수를 동일한 크기의 버킷으로 이산화합니다.
- 👉주의 : 범위를 벗어난 값은 결과 범주형 객체에서 NA가 됩니다.
주요 파라미터
x
: 1차원 배열 또는 Seriesq
: int 또는 float 의 리스트 형태- 분위수
- 사분위의 경우 [.25, .5, .75, 1]
label
: 배열 또는 False (기본값 X)- 결과 bin의 레이블로 사용
- 결과 저장소와 길이가 같아야 함
- False 이면 빈의 정수 표시기만 반환
- True 이면 오류 발생
retbins
: bool (선택사항)- bin, label 반환 여부
- bin이 스칼라로 제공되는 경우 유용
precision
: int (선택사항)- bin 레이블을 저장하고 표시할 정밀도
duplicates
: {‘raise’, ‘drop’} (선택사항)- bin 경계가 고유하지 않은 경우 ValueError를 발생시키거나 고유하지 않은 항목 삭제
Reference
개인 공부 기록용 블로그입니다
오류나 틀린 부분이 있을 경우 댓글 혹은 메일로 따끔하게 지적해주시면 감사하겠습니다 :)
댓글남기기