Pandas 2
Groupby
•
SQL groupby 명령어와 같음
•
split → apply → combine
•
과정을 거쳐 연산
•
한 개 이상의 column을 묶을 수 있음
Hierarchical index
•
Groupby 명령의 결과물도 결국은 dataframe
•
두 개의 column으로 groupbt를 할 경우, index가 두 개 생성
unstack()
•
group 으로 묶여진 데이터를 matrix 형태로 전환해줌
swaplevel
•
Index lovel을 변경할 수 있음
operations
•
Index level을 기준으로 기본 연산 수행 가능
Groupby
gropued
•
groupby에 의해 split 된 상태를 추출 가능함
•
특정 key값을 가진 그룹의 정보만 추출 가능
•
추출된 group 정보에는 세가지 유형의 apply 가 가능함
•
Aggregation - 요약된 통계정보를 추출
◦
특정 컬럼에 여러개의 function을 Apply 할 수도 있음
◦
한번에 통계치를 보여줄 때 유용
◦
하나의 타입에 대해서도 다양한 값을 추출할 수 있다
•
Transformation - 해당 정보를 변환
◦
Aggregation 과 달리 key값 별로 요약된 정보가 아니다
◦
개별 데이터의 변환을 지원
◦
단 max나 min처럼 series 데이터에 적용되는 key 값을 기준으로 grouped 된 데이터 기준
•
Filtration - 특정 정보를 제거하여 보여주는 필터링 기능
◦
filter 안에는 boolean 조건이 존재해야함
◦
len(x) 는 grouped 된 dataframe 개수
Data
•
시간과 데이터 종류가 정리된 통화량 데이터
Pivot table
•
Index 축은 groupby 와 동일
•
Column에 추가로 labelling 값을 추가하여,
•
Value 에 numeric type 값을 aggregation 하는 형태
Crosstab
•
특허 두 칼럼에 교차빈도, 비율, 덧셈 등을 구할 때 사용
•
Pivot table의 특수한 형태
•
User-Item Rating Matrix 등을 만들 때 사용가능
Merge & Concat
Merge
•
SQL 에서 많이 사용하는 Merge 와 같은 기능
•
두 개의 데이터를 하나로 합침
•
pd.merge(df_a, df_b, on=’subject_id’)
•
pd.merge(df_a, df_b, left_on=’subject_id’, right_on=’subject_id’)
•
Left join
◦
pd.merge(df_a, df_b, on=’subject_id’, how=’left’)
•
Right join
◦
pd.merge(df_a, df_b, on=’subject_id’, how=’right’)
•
Inner join
◦
pd.merge(df_a, df_b, on=’subject_id’, how=’inner’)
Concat
DB Persistence
Database connection
•
Data loading 시 db connection 기능을 제공함
XLS Persistence
•
Dataframe 의 엑셀 추출 코드
•
xls 엔진으로 openpyxls 또는 xlsWrite 사용
Pickle Persistence
•
가장 일반적인 python 파일 persistence
•
to_pickle, read_pickle 함수 사용