4.7 피봇테이블과 그룹분석
1. #### 피폿테이블
---
- 피봇테이블(pivot table)이란 데이터 열 중에서 두 개의 열을 각각 행 인덱스, 열 인덱스로 사용하여
데이터를 조회하여 펼쳐놓은 것
- 판다스는 피봇테이블을 만들기 위한 pivot 메서드를 제공함
- 첫번째 인수로는 행 인덱스로 사용할 열 이름
- 두번째 인수로는 열 인덱스로 사용할 열 이름
- 마지막으로 데이터로 사용할 열 이름을 넣는다.
- 판다스는 지정된 두 열을 각각 행 인덱스와 열 인덱스로 바꾼 후
행 인덱스의 라벨 값이 첫번째 키의 값과 같고 열 인덱스의 라벨 값이 두번째 키의 값과 같은
데이터를 찾아서 해당 칸에 넣는다.
- 만약 주어진 데이터가 존재하지 않으면 해당 칸에 NaN값을 넣는다.
- 다음 데이터는 각 도시의 연도별 인구를 나타낸 것.
- 이 데이터를 도시 이름이 열 인덱스가 되고
연도가 행 인덱스가 되어 행과 열 인덱스만 보면 어떤 도시의 어떤 시점의 인구를 쉽게 알 수 있도록
피봇테이블로 만들어보자.
-pivot 명령으로 사용하고 행 인덱스 인수로는 "도시"
열 인덱스 인수로는 "연도"
데잍 이름으로 "인구"를 입력하면 된다.
- 행 인덱스와 열 인덱스는 데이터를 찾는 키(key)의 역할을 한다.
따라서 키 값으로 데이터가 단 하나만 찾아져야 한다.
- 만약 행 인덱스와 열 인덱스 조건을 만족하는 데이터가 2개 이상인 경우에는 에러 발생
- 예를 들어 위 데이터프레임에서 ("지역", "연도")를 키로 하면
("수도권", "2015")에 해당하는 값이 두 개 이상이므로 다음과 같이 에러가 발생한다.
2. #### 그룹분석
---
- 만약 키가 지정하는 조건에 맞는 데이터가 하나 이상이라서
데이터 그룹을 이루는 경우에는 그룹의 특성을 보여주는 그룹분석을 해야 한다.
- 그룹분석은 피봇테이블과 달리 키에 의해서 결정되는 데이터가 여러개가 있을 경우
미리 지정한 연산을 통해 그 그룹 데이터의 대표값을 계산한다.
- 판다스에서는 groupby 메서드를 사용하여 다음처럼 그룹분석을 한다.
- 1. 분석하고자 하는 시리즈나 데이터프레임에 groupby 메서드를 호출하여 그룹화한다.
- 2. 그룹 객체에 대해 그룹연산을 수행한다.
'😀 기초 > 판다스(Pandas)' 카테고리의 다른 글
4.8 시계열 자료 다루기 (0) | 2022.02.04 |
---|---|
4.6 데이터프레임 합성 (0) | 2022.02.04 |
4.5 데이터프레임 인덱스 조작 (0) | 2022.02.02 |
4.4 데이터프레임의 데이터 조작 (0) | 2022.01.30 |
4.3 데이터프레임 고급 인덱싱 (0) | 2022.01.30 |