4.5 데이터프레임 인덱스 조작
1.#### 데이터프레임 인덱스 설정 및 제거
- 때로는 데이터프레임에 인덱스로 들어가 있어야 할 데이터가
- 일반 데이터 열에 들어가 있거나 반대로 일반 데이터 열이어야 할 것이 인덱스로 되어 있을 수 있다.
- 이 때는 set_index명령과 reset_index 명령으로 인덱스와 일반 데이터 열을 교환할 수 있다.
- set_index: 기존의 행 인덱스를 제거하고 데이터 열 중 하나를 인덱스로 설정
- reset_index : 기존의 행 인덱스를 제거하고 인덱스를 데이터 열로 추가
2. #### 다중 인덱스
- 행이나 열에 여러 계층을 가지는 인덱스 즉, 다중 인덱스를 설정할 수도 있다.
- 데이터프레임을 생성할 때 columns 인수에 다음 예제처럼 리스트의 리스트(행렬)
- 형태로 인덱스를 넣으면 다중 열 인덱스를 가지게 된다.
3. #### 행 인덱스와 열 인덱스 교환
- stack 메서드나 unstack 메서드를 쓰면 열 인덱스를 행 인덱스로 바꾸거나
- 반대로 행 인덱스를 열 인덱스로 바꿀 수 있다.
- stack : 열 인덱스 -> 행 인덱스로 변환
- unstack : 행 인덱스 -> 열 인덱스로 변환
- stack 메서드를 실행하면 열 인덱스가 반시계 방향으로 90도 회전한 것과 비슷한 모양
- 마찬가지로 unstack 메서드를 실행하면 행 인덱스가 시계 방향으로 90도 회전 한 것과 비슷
- 인덱스를 지정할 때는 문자열 이름과 순서를 표시하는 숫자 인덱스를 모두 사용할 수 있다.
4. #### 다중 인덱스가 있는 경우의 인덱싱
---
- 데이터프레임이 다중 인덱스를 가지는 경우에는
- 인덱스 값이 하나의 라벨이나 숫자가 아니라 ()로 둘러싸인 튜플이 되어야 한다.
- 예를 들어 앞에서 만든 df3 데이터프레임의 경우 다음과 같이 인덱싱할 수 있다.
5. #### 다중 인덱스의 인덱스 순서 교환
- 다중 인덱스의 인덱스 순서를 바꾸고 싶다면 swaplevel 명령을 사용
- swaplevel(i, j, axis)
- i와 j는 교환하고자 하는 인덱스 라벨(혹은 인덱스 번호)이고
- axis는 0일 때 행 인덱스, 1일 때 열 인덱스를 뜻한다.
- 디폴트는 행 인덱스이다.
6. #### 다중 인덱스가 있는 경우의 정렬
- 다중 인덱스가 있는 데이터프레임을 sort_index로 정렬할 때는
- level 인수를 사용하여 어떤 인덱스를 기준으로 정렬하는지 알려주어야 한다.
'😀 기초 > 판다스(Pandas)' 카테고리의 다른 글
4.7 피봇테이블과 그룹분석 (0) | 2022.02.04 |
---|---|
4.6 데이터프레임 합성 (0) | 2022.02.04 |
4.4 데이터프레임의 데이터 조작 (0) | 2022.01.30 |
4.3 데이터프레임 고급 인덱싱 (0) | 2022.01.30 |
4.2 데이터 입출력 (0) | 2022.01.28 |