pd.qcut()란
- pd.qcut()은 pandas 라이브러리에서 제공하는 함수
- 연속형 데이터를 동일한 구간 또는 분위수로 나누는데 사용
- 이를 통해 데이터를 이산적인 범주로 나눌 수 있음
- q는 quantile(분위수)의 약자
- 즉, 데이터를 주어진 분위수로 나누는 작업
다음 예시를 보면,
- totvars에 해당하는 컬럼만 covidtotlaonly에 따로 저장
- 새로운 컬럼 'total_cases_q'를 생성하는데, 이때 qcut을 사용한다
- 가장 먼저 나눌 데이터를 표시해준다
- labels : 나눈 구간을 표현할 때 사용할 라벨
- q : 나눌 구간의 개수나 분위수의 리스트
- [참고] precision은 소수점 이하 자릿수를 나타내는 매개변수 (여기서는 0 이므로 정수형이 나옴)
covidtotalsonly = covidtotals.loc[:, totvars]
covidtotalsonly['total_cases_q'] = pd.qcut(covidtotalsonly['total_cases'],
labels = ['매우낮음', '낮음', '보통', '높음', '매우높음'],
q=5, precision=0)
covidtotalsonly['total_deaths_q'] = pd.qcut(covidtotalsonly['total_deaths'],
labels = ['매우낮음', '낮음', '보통', '높음', '매우높음'],
q=5, precision=0)
covidtotalsonly.head()
pd.crosstab()
- 교차표(cross-tabulation table) 또는 분할표(contingency table)를 생성하기 위해 사용
- 두 개 이상의 변수 간의 교차 빈도를 계산하고 시각화할 수 있음
- 시각화를 통해 이상치 유무를 쉽게 파악할 수 있음
- 다음과 같은 매개변수를 사용
- index : 행 인덱스로 사용할 변수
- columns : 열 인덱스로 사용할 변수
- values : 값으로 사용할 변수(보통 빈도수)
- aggfunc : 데이터를 집계할 함수(기본값은 빈도수를 세는 것)
- 예시는 다음과 같은데, 여기서는 행/열을 따로 지정해주지 않고 간편하게 확인함
pd.crosstab(covidtotalsonly['total_cases_q'], covidtotalsonly['total_deaths_q'])
728x90
'Python > Pandas' 카테고리의 다른 글
describe() : 범주형 변수에 적용하여 기술 통계량 확인 (0) | 2023.08.17 |
---|---|
display() 함수 : 여러 개 데이터프레임 동시에 확인 (0) | 2023.08.14 |
Index Alignment란? (0) | 2023.08.09 |
[pandas] 결측치 처리하기 (0) | 2023.08.09 |
[pandas] 날짜 데이터 다루기 (0) | 2023.08.09 |