하파와 데이터

[빅분기] 실기 1유형- 인덱스(Index) 설정, 리셋, 정렬 본문

자격증/DATA

[빅분기] 실기 1유형- 인덱스(Index) 설정, 리셋, 정렬

hhpp 2024. 11. 29. 14:23

데이터를 다루다보면, 현재 설정된 인덱스를 없애야할 수도 있고, 

새롭게 다시 지정해야할 때도 있다. 

 

즉, 우리는 인덱스로 수정할 수 있어야 하는 것이다. 

 

1. reset_index()

Reset_index는 말 그대로, 인덱스를 리셋하는 역할을 수행한다. 

기존에 어떤 데이터, 값들이 인덱스에 있던지 무관하게 

0부터 시작하는 정수의 인덱스를 새롭게 지정하는 과정이다. 

import pandas as pd
import numpy as np

dates = pd.date_range('20241129', periods = 6)

df = pd.DataFrame(np.random.randn(6,4), index = dates, columns = list('ABCD'))

print(df)

# reset indexing
df.reset_index(inplace = True)
print(df)

 

2. set_index()

아. 근데 막상 해보니, 인덱스를 다시 설정해야할 것 같아!!! 

근데, 0부터 시작하는 정수의 인덱스가 아니라, A컬럼의 값을 인덱스로 사용하고 싶은 마음이 든다. 

그렇다면??

df.set_index(df['A'], inplace = True)

df

set_index()를 활용해서 A 컬럼을 바로 인덱스로 사용할 수 있다. 

 

3. sort_index()

근데 지금의 데이터를 봐도 그렇고, 인덱스가 너무 중구난방인 느낌이다. 

뭔가 알 수 없는 정리욕구가 끓는다....!! 

사실 이런 감정은, 인덱스가 숫자 또는 날짜로 되어있음에도 정렬이 되어있지 않을때 크게 욕구를 느낀다. 

하지만 오늘은 위의 결과를 가지고 그래도 진행해보도록 하자. 

# 인덱스 데이터 값을 기준으로 할때는 axis= 0
df.sort_index(axis=0, ascending = True, inplace = True)

# 컬럼명을 기준으로 할때는 axis=1
df.sort_index(axis=1, ascending = True, inplace = True)
df

반응형