[파이썬] pandas에서 데이터 정렬 (sort_values, sort_index)

데이터 프레임을 다루는 데 pandas는 매우 강력한 도구입니다. 이에는 데이터의 정렬이 필요한 경우가 많습니다. 이번 블로그에서는 pandas에서 데이터를 정렬하는 두 가지 방법에 대해 알아보겠습니다. sort_valuessort_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 함수를 사용하여 인덱스를 기준으로 정렬할 수 있습니다. 데이터 분석이나 처리 중에 정렬을 필요로 하는 경우에는 이러한 함수들을 효과적으로 활용하면 됩니다.