초보 개발자

3. index ( 나도 코딩 pandas ) 본문

Python/pandas

3. index ( 나도 코딩 pandas )

taehyeki 2022. 10. 29. 13:39

데이터 프레임의 조작법에 있어서 인덱스 부분을 살펴보자

매개변수에 Index 배열을 주면 원하는 값으로 인덱스를 지정할 수 있었다.

하지만 갑자기 기본인덱스로 돌아가고 싶은 경우에는 어떻게 할까??

 

reset_index() 함수를 사용하면 된다.

 

위와같이 처음에 인덱스를 지정해주었다. 그리고 

df.index.name = 'default'

위 처럼 지정해주면 인덱스의 이름또한 지정할 수 있다.

 

자 ! 여기서 기본 인덱스로 돌아가보자

분명 잘 돌아갔는데 뭔가 이상하다. 기존의 인덱스가 컬럼으로 변해있는 것을 확인할 수 있다.

내가 원한건 이게 아닌데..

 

그렇다면 여기서 drop=True를 넣어주면 된다.

그럼 기존에 있던 인덱스가 사라지고 기본 인덱스로 변한다.

좋다.

 

다만 다시 df를 쳐보면 변하지 않은 것을 확인할 수 있다.

이 이유는 inplace=True 옵션을 주지 않아서이다.

이 옵션은 자주 등장할 것이다.

데이터의 특성상 쉽게 변화시키면 안되기 때문에 저 옵션을 주지 않으면 실제로는 변하지 않는다.

 

이렇게 기존에 있던 인덱스 값을 사라지게 한 것을 확인할 수 있다.

 

더 나아가서 인덱스를 원하는 컬럼값으로 지정할 수 있다

 

아까는 

reset_index 였지만 지금은

set_index이다.

 

마찬가지로 inplace 옵션을 주지 않으면 실제로 데이터가 변하지 않는다.

이렇게 원하는 컬럼으로도 인덱스를 지정하는 방법을 배워보았다.

set_index!!!

 

문득 궁금해졌다. 여기서 reset_index를하면 저 값이 지워지겠지?

역시!! 이렇게 전으로 돌아갈 수 있다.

 

drop=True 값도 줘보았다.

이러면 name의 컬럼값이 아예 사라진 것을 확인할 수 있다!!!

 

 더 나아가서 인덱스를 기준으로 정렬하는 방법을 배워보자

sort_index

현재 인덱스가 이름으로 되었으니까 가나다라 순으로 정렬이 된 것을 볼 수 있다.

내림차순으로 보고 싶다면 asending=False옵션을 주면된다.

 

reset_index 인덱스를 없앰

set_index 인덱스를 생성

df.index.name 인덱스이름을 변경 없다면 설정

sort_index 인덱스를 기준으로 정렬