Day_3 03. pandas II
작성일
pandas II
1. Groupby
- SQL groupby 명령어와 같음
- split -> apply -> combine
-
과정을 거쳐 연산
- 한개 이상의 column을 묶을 수 있음
df.groupby(['Team', 'Year'])['Points'].sum()
1.1 Hierachical index
- Groupby 명령의 결과물도 결국은 dataframe
- 두개의 column으로 groupby 를 할 경우, index가 2개 생성
1.2 unstack
- Group 으로 묶여진 데이터를 matrix 형태로 전환
1.3 swaplevel
- index level을 변경할 수 있음
1.4 sort_index
- index level을 기준으로 정렬
1.5 sort_values
- value 값 기준으로 정렬
2. Groupby II
- Groupby에 의해 Split된 상태를 추출 가능함
- Tuple 형태로 그룹의 key 값 value 값이 추출
grouped = df.groupby('Team')
for name, group in grouped:
print(name)
print(group)
- grouped 자체는 generator 형태
- 특정 key값을 가진 그룹의 정보만 추출 가능
grouped.get_group('Devils')
- 추출된 group 정보에는 세가지 유형의 apply가 가능
- Aggregation: 요약된 통계정보를 추출
- agg
- 특정 컬럼에 여러개의 function을 apply 할 수 있음
- Transformation: 해당 정보를 변환
- Aggregation과 달리 key 값 별로 요약된 정보가 아님
- 그룹 지어진 데이터별로 변환을 지원
- Filteration: 특정 정보를 제거하여 보여주는 필터링
- 특정 조건으로 데이터를 검색할 때 사용
- filter 안에는 boolean 조건이 존재해야 함
- len(x) 는 grouped 된 dataframe 개수
- Aggregation: 요약된 통계정보를 추출
3. Pivot Table
- Index 축은 groupby와 동일
- Column에 추가로 labeling값을 추가하여 Value에 numeric type값을 aggregation 하는 형태
4. Crosstab
- 두 칼럼에 교차 빈도, 비율, 덧셈 등을 구할 때 사용
- Pivot table의 특수한 형태
- User-Item Rating Matrix 등을 만들 때 사용 가능
5. merge
- SQL에서 많이 사용하는 Merge와 같은 기능
- 두개의 데이터를 하나로 합침
- join method
- inner join
- full(outer) join
- left join
- right join
6. concat
- 같은 형태의 데이터를 붙이는 연산작업
7. persistence
7.1 database connection
- data loading시 db connection 기능을 제공
7.2 XLS persistence
- Dataframe의 엑셀 추출 코드
- Xls 엔진으로 openpyxls 또는 XlsxWrite 사용
- conda install openpyxl
- conda install XlsxWriter
댓글남기기