데이터프레임(Df)
의 인덱스(Index)
와 관련된 여러 기능들을 알아봅시다.
DataFrame이 가지는 속성중 인덱스(Index)
는 프레임의 가장 첫번째 열에서 확인할 수 있습니다. default로 RangeIndex를 가지며, 자유롭게 바꾸거나 초기화하는 등의 작업이 가능합니다.
print(df)
>>
df.index
에 리스트 형태로 바인딩하여 인덱스를 지정해 줄 수 있습니다.
df.index = ['1번', '2번', '3번']
print(df)
>>
print(df.index)
>> Index(['1번', '2번', '3번'], dtype='object')
새롭게 인덱스를 지정한 후 df.index
를 찍어 보면, 기존의 RangeIndex
에서 지정한 값으로 바뀐 것을 확인할 수 있습니다.
df.index.name = '번호'
print(df)
>>
인덱스에 이름을 지정해줄 수 있습니다. '번호'라는 인덱스 이름이 생겼습니다.
df.reset_index(inplace=True)
print(df)
>>
reset_index()
메서드로 기존의 인덱스를 초기화 할 수 있습니다. inplace 옵션을 통해 데이터에 바로 적용했고, 이때 데이터를 찍어 보면 기존의 인덱스는 새로운 column이 되는것을 알 수 있습니다.
df.reset_index(drop=True, inplace=True)
print(df)
>>
만약 기존의 인덱스를 완전 삭제하고 처음 상태로 되돌리고 싶다면, drop옵션을 이용할 수 있습니다. 상단의 코드는 drop=True
설정을 통해 기존의 '이름' index를 제거하는 과정입니다.
df.set_index('이름', inplace=True)
print(df)
>>
set_index()
메서드를 통해 기존 컬럼 중 하나의 컬럼을 인덱스로 만들 수 있습니다. 기존의 인덱스는 사라지게 됩니다.
df.sort_index(inplace=True)
print(df)
>>
sort_index()
메서드를 통해 인덱스를 기준으로 row를 정렬할 수 있습니다. default로 오름차순 정렬됩니다.
df.sort_index(ascending=False, inplace=True)
print(df)
>>
sort_index() 메서드의 ascending 옵션을 조정하면 내림차순을 기준으로도 정렬할 수 있습니다.