Pandas의 sort_values
메서드를 사용하면 데이터프레임의 특정 열을 기준으로 데이터를 쉽게 정렬할 수 있으며, 이를 통해 데이터를 더 잘 이해하고 분석할 수 있다. 이 글에서는 Pandas의 sort_values
메서드를 사용한 데이터프레임 정렬에 대해 알아본다.
sort_values
메서드 개요
sort_values
메서드는 데이터프레임의 열을 기준으로 데이터를 정렬합니다. 이 메서드는 다음과 같은 구조를 가집니다:
dataframe.sort_values(by='기준열', ascending=True/False)
dataframe
: 정렬할 데이터프레임by
: 정렬의 기준이 되는 열 이름ascending
: 정렬 순서를 지정하는 매개변수.True
로 설정하면 오름차순,False
로 설정하면 내림차순 정렬을 의미
sort_values
메서드는 정렬된 데이터프레임의 복사본을 반환하므로 원본 데이터프레임은 변경되지 않는다.
데이터프레임 정렬 예제
오름차순 정렬
다음 예제에서는 Pandas를 사용하여 데이터프레임을 ‘Age’ 열을 기준으로 오름차순으로 정렬하는 방법을 보여준다.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 22, 35]}
df = pd.DataFrame(data)
# 'Age' 열을 기준으로 오름차순 정렬
df_sorted = df.sort_values(by='Age', ascending=True)
print(df_sorted)
Name Age
2 Charlie 22
0 Alice 25
1 Bob 30
3 David 35
내림차순 정렬
이번에는 ‘Age’ 열을 기준으로 내림차순으로 정렬하는 예제를 살펴본다.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 22, 35]}
df = pd.DataFrame(data)
# 'Age' 열을 기준으로 내림차순 정렬
df_sorted = df.sort_values(by='Age', ascending=False)
print(df_sorted)
Name Age
3 David 35
1 Bob 30
0 Alice 25
2 Charlie 22
다중 열 정렬
sort_values
메서드를 사용하여 다중 열을 기준으로 정렬할 수도 있다. 이렇게 하면 첫 번째 열을 기준으로 정렬한 후, 동일한 값을 가지는 항목들끼리 두 번째 열을 기준으로 정렬한다.. 다음은 두 개의 열을 기준으로 정렬하는 예제로, by
매개변수에 정렬 순서에 따를 열 이름을 리스트로 전달한다.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
'Age': [25, 30, 22, 35, 25],
'Score': [85, 92, 88, 78, 95]}
df = pd.DataFrame(data)
# 'Age' 열을 기준으로 오름차순, 'Score' 열을 기준으로 내림차순 정렬
df_sorted = df.sort_values(by=['Age', 'Score'], ascending=[True, False])
print(df_sorted)
Name Age Score
2 Charlie 22 88
4 Eva 25 95
0 Alice 25 85
1 Bob 30 92
3 David 35 78
주의사항
sort_values
메서드는 정렬된 데이터프레임의 복사본을 반환하므로 원본 데이터프레임은 변경되지 않는다. 정렬 결과를 원본 데이터프레임에 반영하려면inplace=True
옵션을 사용해야 한다.- 정렬 기준 열이나 순서를 지정하지 않으면 기본적으로 오름차순으로 정렬된다.
- 데이터프레임을 정렬하는 것은 데이터를 분석하거나 시각화할 때 중요한 단계 중 하나이다. 올바른 정렬을 수행하여 데이터를 원하는 형태로 확인하고 분석하는 데 도움이 된다.