[파이썬] pandas에서 데이터 정렬 (sort_values, sort_index)
데이터 프레임을 다루는 데 pandas는 매우 강력한 도구입니다. 이에는 데이터의 정렬이 필요한 경우가 많습니다. 이번 블로그에서는 pandas에서 데이터를 정렬하는 두 가지 방법에 대해 알아보겠습니다. sort_values
와 sort_index
입니다.
1. sort_values를 사용한 데이터 정렬
sort_values
함수는 데이터를 지정한 열의 값에 따라 정렬합니다. 예를 들어, 데이터 프레임을 ‘age’ 열의 값을 기준으로 정렬하고 싶다면 다음과 같이 작성할 수 있습니다:
import pandas as pd
# 데이터 프레임 생성
data = {'name': ['John', 'Alice', 'Bob'],
'age': [25, 30, 20],
'city': ['Seoul', 'New York', 'London']}
df = pd.DataFrame(data)
# 'age' 열의 값에 따라 데이터 정렬
df_sorted = df.sort_values('age')
print(df_sorted)
이 코드는 ‘age’ 열의 값을 오름차순으로 정렬한 결과를 출력합니다:
name age city
2 Bob 20 London
0 John 25 Seoul
1 Alice 30 New York
또한, ascending=False
매개변수를 사용하여 내림차순으로 정렬할 수도 있습니다:
df_sorted_desc = df.sort_values('age', ascending=False)
print(df_sorted_desc)
이 코드는 ‘age’ 열의 값을 내림차순으로 정렬한 결과를 출력합니다:
name age city
1 Alice 30 New York
0 John 25 Seoul
2 Bob 20 London
2. sort_index를 사용한 데이터 정렬
데이터 프레임을 특정 열이 아닌 인덱스에 따라 정렬하고 싶다면, sort_index
함수를 사용할 수 있습니다. 예를 들어, 인덱스를 기준으로 데이터 프레임을 정렬하고 싶다면 다음과 같이 작성할 수 있습니다:
import pandas as pd
# 데이터 프레임 생성
data = {'name': ['John', 'Alice', 'Bob'],
'age': [25, 30, 20],
'city': ['Seoul', 'New York', 'London']}
df = pd.DataFrame(data)
# 인덱스를 기준으로 데이터 정렬
df_sorted = df.sort_index()
print(df_sorted)
이 코드는 데이터 프레임을 인덱스를 기준으로 정렬한 결과를 출력합니다:
name age city
0 John 25 Seoul
1 Alice 30 New York
2 Bob 20 London
마무리
pandas에서 데이터를 정렬하는 방법에 대해 알아보았습니다. sort_values
함수를 사용하여 특정 열의 값을 기준으로 정렬하거나, sort_index
함수를 사용하여 인덱스를 기준으로 정렬할 수 있습니다. 데이터 분석이나 처리 중에 정렬을 필요로 하는 경우에는 이러한 함수들을 효과적으로 활용하면 됩니다.