본문 바로가기

Pandas/기초

판다스 - set_index(), reset_index()

반응형

 

set_index()

- 하나 이상의 컬럼을 색인으로 하는 새로운 DataFrame을 생성한다.



reset_index() 

- 계층적 색인의 단계가 컬럼으로 이동한다.

 

 

 

판다스 데이터프레임에서 인덱스를 설정하는 법은 여러가지가 있다.

 

지금은 크게 두가지로 살펴보겠다.

 

 

 

 

 

데이터 만들기

 

 

 

 

 

 

 

인덱스 만들기

 

1. 데이터프레임의 인덱스 = 데이터프레임의 컬럼

 

 

Alpha 컬럼이 인덱스로 설정 됐다.

 

단, 이 방법의 단점은 인덱스와 같은 컬럼이 중복 된다는 것이다.

 

 

이렇게 되면 reset_index를 사용할 때 에러가 발생한다.

 

이미 Alpha 컬럼이 있다는 ValueError가 떴다.

 

 

 

따라서 중복컬럼이 굳이 필요 없다면

 

Alpha 컬럼을 삭제한 다음

 

 

 

reset_index를 실행하면 

 

 

에러가 발생하지 않는다.

 

 

 

 

 

혹은 중복 컬럼 에러를 방지하기 위해 

 

아래에서 설명할 reset_index(drop=True)를 이용한다.

 

 

 

 

 

 

 

2. set_index 함수 사용

 

 

Alpha 컬럼이 중복되지 않고

 

알맞게 인덱스로 설정되었다.

 

 

 

따라서, reset_index 실행에도

 

 

중복 걱정이 없다.

 

 

 

 

 

 

** set_index(drop=False)

set_index인자에 drop=False를 넣으면 

 

1번과 동일하게 된다.

 

그러므로 이 방법도 reset_index를 할 때 조심해야 한다.

 

 

 

 

 

 

 

 

reset_index()

* drop=False가 default

 

 

 

reset_index를 그냥하게 되면

 

기본 인덱스를 가지고 (0부터 시작)

 

원래 인덱스는 컬럼으로 옮겨진다.

 

 

 

 

 

다른 경우에는 Alpha 컬럼이 굳이 필요 없고

 

기본 인덱스만 원할 때가 있다.

 

그럴땐 인자에

 

drop=True를 넣어주면 된다.

 

인덱스는 초기화되었으나, drop=True 때문에

 

원래 인덱스였던 Alpha가 사라졌다.

 

 

 

 

 

 

반응형

'Pandas > 기초' 카테고리의 다른 글

판다스 - reindex()  (0) 2020.07.04
판다스 - stack, unstack  (0) 2020.06.28
판다스 - 계층적 색인  (0) 2020.06.28
판다스 - pd.cut, pd.qcut  (0) 2020.06.27
판다스 - 데이터프레임 축 색인 이름 바꾸기  (0) 2020.06.27