조금씩 꾸준히 완성을 향해

[Pandas] Index 활용 함수(set_idex, reindex, reset_index, sort_index) 본문

Python/Numpy & Pandas

[Pandas] Index 활용 함수(set_idex, reindex, reset_index, sort_index)

all_sound 2022. 9. 29. 20:29

Index를 활용하는 다양한 함수들 (설정, 재설정, 초기화) 

 


▶ set_index() : 특정 열을 행 인덱스로 설정 

#데이터 확인
df

# '이름' 열을 index로 지정
ndf = df.set_index('이름')
ndf

# '수학'과 '체육'열을 인덱스로 지정
ndf3 = df.set_index(['수학','체육'])
ndf3



▶ reindex() : 데이터 프레임의 행 인덱스를 새로운 배열로 재지정 (새로운 객체 반환)

# 데이터 확인
dic

# index 지정해서 데이터프레임 생성
df = pd.DataFrame(dic, index=['r0', 'r1', 'r2'])
df

# index를 새로운 배열로 변경
# 요소들이 존재하지 않을 경우 자동적으로 NaN으로 처리
ndf = df.reindex(['r0', 'r1', 'r2', 'r3', 'r4'])
ndf

# index를 변경하고, NaN값이 있으면 0으로 채운다.
df.reindex(['r0', 'r1', 'r2', 'r3', 'r4'], fill_value=0)

df.reindex(['r2', 'r1'])  #원래 있던 index를 사용할 경우 데이터가 같이 따라감.



▶ reset_index()  : 정수형 위치 인덱스로 초기화

 

 기존 행 인덱스는 열로 이동, 새로운 데이터프레임 객체를 반환

ndf = df.reset_index()
ndf

 

 

데이터 프레임 정렬

행 인덱스를 기준으로 데이터 프레임 정렬


 ▶ sort_index() : 새롭게 정렬된 데이터프레임 객체를 반환 (ascending 옵션 True, False 사용)

df.sort_index()  # default는 오름차순 정렬 (ascending=True 생략)

df.sort_index(ascending=False)  # 내림차순 정렬


열 기준으로 데이터 프레임 정렬


sort_values() : 새롭게 정렬된 데이터프레임 객체 반환 (ascending 옵션 True, False 사용)

df.sort_values('c1', ascending=False)  #c1열을 기준으로 내림차순 정렬