Pandas 정렬하기(sort_values)

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 옵션을 사용해야 한다.
  • 정렬 기준 열이나 순서를 지정하지 않으면 기본적으로 오름차순으로 정렬된다.
  • 데이터프레임을 정렬하는 것은 데이터를 분석하거나 시각화할 때 중요한 단계 중 하나이다. 올바른 정렬을 수행하여 데이터를 원하는 형태로 확인하고 분석하는 데 도움이 된다.

참조

답글 남기기