본문 바로가기
Python/Data Science

Python - Data Frame Index/Column 수정하기

by hooni40 2021. 8. 1.
728x90
반응형

 안녕하세요, 오늘은 Data Frame에서 Index와 Column을 수정하는 방법을 정리하려 합니다. 먼저 Column을 바꾸는 방법은 rename함수를 사용해 수정할 수 있습니다. df.rename(columns={Column 이름:바꾸고자 하는 Column 이름})을 사용하면 되는데요, 첫 파라미터로 column을 수정하기 때문에 columns를 넣고 뒤에 기존 Column 이름과 바꾸고자 하는 Column 이름을 적어줍니다.

 

 

 위의 코드를 이용해 position을 Position으로 바꿨습니다. 그런데 여기서 df를 이용해 출력을 하면 position 그대로 출력이 됩니다. 이전 시간에 정리한 inplace를 사용해야 Position이 유지됩니다. 아래 이미지와 같이 inplace=True를 추가하여 Data Frame 자체를 바꿔줍니다. 그럼 하나의 column이 아닌 여러 column을 바꿔주려면 어떻게 해야 할까요? {} 안에 추가해주면 끝입니다!

 

inplace 적용해서 Data Frame을 바꾸기
여러 Column을 바꾸기

 

 위의 표에서 선수들 이름(인덱스)의 열은 이름이 없는데요, 이걸 추가하려면 df.index.name = 'Player Name'를 사용해주면 됩니다. 

 

 

 여기서 Number를 인덱스로 사용하려면 어떻게 해야 할까요? df.set_index('Number')를 사용해서 인덱스로 설정할 수 있습니다. 그런데 이렇게 하면 기존에 인덱스였던 Player Name은 Data Frame에서 없어진 것처럼 보입니다. df.index를 사용하면 Player Name이 출력되는데요, 이것을 살리고 Number Column을 인덱스로 사용하고 싶다면 Data Frame 맨뒤에 Playter Name Column을 하나 추가해주면 됩니다! Data Frame에 Column이나 Index를 추가하는 것은 지난 시간에 정리한 글을 참고 부탁드립니다.

 

set_index로 Number를 인덱스로 설정하면 Player Name이 없어집니다!

 위와 같이 Player Name Column을 추가해 준후 다시 set_index를 이용해 Number를 인덱스로 설정해보면 뒤에 Player Name은 뒤에 남아있게 됩니다!

 하나 추가로 짚어볼 것은 마지막에 df.index로 인덱스를 출력할 때는 Number column이 출력되었는데요, 이것은 set_index 함수 안에 inplace를 추가해줬기 때문에 Data Frame의 Index가 Number로 변경이 된 것입니다!

728x90
반응형

'Python > Data Science' 카테고리의 다른 글

Python - Series 다루기  (0) 2021.08.10
Python - Data Frame 다루기  (0) 2021.08.04
Python - Data Frame 값 추가/삭제  (0) 2021.07.30
Python - Data Frame 데이터 변경하기  (0) 2021.07.29
DataFrame indexing (4)  (0) 2021.07.28

댓글