본문 바로가기
Data/Data Analysis

[Pandas 데이터전처리] 3-2.Dataframe 조작함수2 apply,cut,set_index

by 카프리썬 2021. 7. 15.
728x90

DataFrame으로 데이터를 조작하기 위한 여러가지 함수의 사용방법

데이터엔지니어링/데이터사이언티스트 교육을 통해 배운내용을 복습하고, 추가로 공부한 내용을 정리하였습니다. 

아래의 주피터내용은 여기 깃허브에서 확인할 수 있습니다.


6. 동일한 연산반복 : apply()

동일한 연산을 모든열에 혹은 모든 행에 반복 적용하고자 할때 사용

apply(반복적용할 함수, axis=0/1) : 열마다(0), 행마다(1), 생략시 기본값0

집계함수는 행/단위 백터화연산을 수행하기 때문에 굳이 apply()를 쓸 필요가 없다.

lambda 함수나 사용자 정의 함수를 각 열 또는 행에 일괄 적용시키기 위해 사용

7. 데이터변형(관측데이터->범주형데이터) : cut(), 카테고리객체

값의 크기를 기준으로하여 카테고리 값으로 변환하고 싶을 때

bins 사이의 구간의 개수 = 라벨의개수

bins는 처음에 초과/이하

 

cut(data, bins, label)

data : 구간을 나눌 실제 관측 값, bins : 구간 경계 값, label : 카테고리 값

카테고리 클래스 객체

카테고리명 속성 : Categorical.categories
코드 속성 : Categorical.codes -> 인코딩한 카테고리값을 정수로 갖는다. 

8. 구간분할 : quct()

구간 경계선을 지정하지 않고 데이터 개수가 같도록 지정한 수의 구간으로 분할할때

예를 들어 1000개의 데이터를4개의 구간으로 나누려고 한다면 250개씩 나누어진다. 

 

pd.qcut(data,구간수,labels=[d1,d2....])

랜덤정수를 20개를data로 생성한후, Q1,Q2,Q3,Q4의 구간으로 나눔 

value_counts()를 통해 해당 구간에 속하고 있는 데이터의 개수를 출력 : 20개를 4개로 나누어서 각각 5개로 나뉨

9. 인덱스 설정함수 

  • set_index() : 기존 행 인덱스를 제거하고 데이터 열 중 하나를 인덱스로 설정해주는 함수
  • reset_index() : 기존 행인덱스를 제거하고 기본인덱스로 변경

내포 for문 연산 사용가능 

[표현식(연산식) for 항목 in 반복가능객체 if 조건문]

if 조건문은 생략 가능하다.
반복가능객체 : 리스트, 튜플,딕셔너리,range()등

반응형