1. 직접 배정해 주는 방법
직접 배정해주려면 data와 갯수가 맞아야 합니다. 다음과 같은 메소드를 씁니다.
DataFrame.index= list
DataFrame.columns = list
list로 설정된 값이 인덱스로 들어가게 됩니다.
import numpy as np
import pandas as pd
ddf = pd.Dataframe(np.arange(0,16).reshape(4,4))
ddf
ddf.index = ['r0','r1','r2','r3']
ddf.columns = ['c0','c1','c2','c3']
ddf
2. set_index
set_index로 원래 있던 columns을 index로 불러들이는 방법입니다.
DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)
keys 에는 인덱스로 사용하려는 열의 레이블을 입력받습니다.
멀티 인덱스를 하려면 리스트형태로 값을 넣어주시면 됩니다.
drop은 인덱스로 쓸 열을 데이터 내에서 지울것인지 여부를 결정합니다.
append는 기존의 쓰던 인덱스를 삭제할지 여부를 결정합니다.
inplace는 원본 객체를 변경할지 여부를 결정합니다.
verify_integrity는 인덱스 중복여부를 체크하는 것인데 True로 하면 체크하는 시간 때문에 성능이 떨어집니다.
3. reset_index
설정했던 인덱스를 초기화 해보겠습니다.
DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')
drop과 inplace만 주로 쓰입니다.
level 은 인덱스에서 주어진 단계를 제거합니다. 기본값은 모든 단계를 제거합니다.
col_level은 멀티인덱스일 경우 어떤 것으로 삽입할것인지 설정합니다. 기본값이 0이어서 첫번째 것이 삽입됩니다.
col_fill은 멀티인덱스일 경우 어떻게 다른 단계의 이름을 붙일 것인지 설정합니다. 기본값은 '' 라서 안 붙여집니다.
'None'으로 하면 인덱스 이름이 반복됩니다.
만약 데이터를 불러올 때 'index_col'을 통해 지정하지 않았거나 데이터 가공 도중 임의의 인덱스(0,1,2, ... )로 지정되었을 경우 다시 인덱스를 지정할 필요가 있음
인덱스 1부터 시작하기
인덱스를 0이 아닌 1부터 시작하고 싶을 때는 df_name.index=df_name.index+1을 사용하면 됨
ex> titanic.index=titanic.index + 1