본문 바로가기
IT/파이썬(Python)

파이썬 데이터 프레임 정렬하기 sort_values() 함수

by 깡타의 컴맹인생 2023. 4. 12.
반응형

데이터 프레임 정렬


sort_values

< 오름차순 정렬, 기본값 >
sort_values('기준 열', ascending = True)
sort_values(['기준 열1', '기준 열2'] ascending = True)

< 내림차순 정렬, 기본값 >
sort_values('기준 열', ascending = False)
sort_values(['기준 열1', '기준 열2'] ascending = False) 

위의 표를 담고 있는 엑셀 파일이 있다고 하자. read_excel() 함수를 사용하여 생성한 데이터 프레임의 형태는 다음과 같다.

우리는 sort_values()라는 함수를 사용하여 특정 열을 기준으로 데이터를 정렬할 수 있다.

1
2
3
4
5
6
7
import pandas as pd
 
df = pd.read_excel('230412.xlsx')
 
display(df)
 
df.sort_values('이름')
cs

sort_values() 함수를 사용해 '이름' 열을 기준으로 정렬한 결과는 위와 같다. 기본적으로 오름차순으로 정렬된다.

1
2
3
4
5
6
7
import pandas as pd
 
df = pd.read_excel('230412.xlsx')
 
display(df)
 
df.sort_values('이름', ascending = False)
cs

sort_values() 함수에 ascending = False를 입력하면 데이터가 오름차순이 아닌 내림차순으로 정렬된다.

위와 같이 이름은 같은데 가격이 다른 데이터가 있다면 어떻게 할 수 있을까? 답은 간단하다. sort_values() 함수의 기준열에 2개의 열을 순서대로 입력하면 된다. 먼저 입력하는 열에 대해 정렬하고 나서 그다음 열에 대해 정렬한다.

1
2
3
4
5
6
7
import pandas as pd
 
df = pd.read_excel('230412.xlsx')
 
display(df)
 
df.sort_values(['이름''가격'], ascending = False)
cs

위와 같이 포도라는 이름을 가진 데이터가 최상위에 위치하고 가격이 다르기 때문에 내림차순 상태에서는 가장 가격이 높은 데이터가 최상단에 위치하게 된다.

반응형