데이터 구간별 범주화
- pd.cut 함수
- 데이터 값들을 특정 구간에 따라서 범주화할 때 사용
- 범주를 나누고 라벨을 붙여서 범주형 데이터로 변환 가능
- 연속 데이터를 구간별로 범주화
[cut 함수]
균등한 길이의 그룹
데이터의 분산에 따라 각각의 그룹마다 데이터 수가 다르게 나뉜다.
[qcut 함수]
같은 크기의 그룹
표본 변위치를 기반으로 데이터를 나누어,
적당히 같은 크기의 그룹으로 나눌 수 있다.
horsepower를 3 구간으로 저출력 / 보통출력 / 고출력 으로 나눠보자.
pd.cut을 이용하는데
(데이터배열, 구간, 레이블이름, 경계 포함) 중 데이터배열과 구간은 필수 입력
여기서 include_lowest는 구간의 시작값을 포함하는지에 대한 여부
# 범주형 변환
bins_name = ["저출력","보통출력","고출력"]
df['hp_cat'] = pd.cut(x = df['horsepower'], # 데이터 = 사용할 열
bins = bins, # 구간의 값
labels = bins_name, # 구간의 이름
include_lowest = True) # 구간의 시작값 포함
결과를 확인해보자
df['hp_cat'].value_counts()
더미변수
원핫 인코딩을 위해 get_dummies를 이용
0은 False, 1은 True를 의미하며 각 행은 하나의 1값, 두개의 0값을 가질 수 있다.
hp_dm = pd.get_dummies(df['hp_cat'])
hp_dm
여기서 첫 번째 값은 보통출력이므로 보통 출력에 1 값, 나머지 값에 0 값을 지정
'Python > [개념 및 문법]' 카테고리의 다른 글
[python] 반복문에서의 continue (0) | 2023.06.20 |
---|---|
[판다스] 시계열 객체 변환, 시계열 데이터 만들기, 날짜 데이터 분리, 날짜 인덱싱 (0) | 2023.06.19 |
[python] 정규화(최대절대값 정규화, 최소값-최대값 정규화) (1) | 2023.06.19 |
[사이킷런] 더미변수 만들기, 라벨 인코딩, 원핫 인코딩 (0) | 2023.06.19 |
[Pandas] 데이터 전처리(널값 확인 및 대체, 중복 데이터, 표준화) (2) | 2023.06.19 |