이번에는 데이터를 정렬하는 방법을 알아보겠습니다. 데이터를 정렬하는 기준은 크게 두가지가 있습니다. 1) .sort_index()를 사용하는 방법과 2) .sort_values()를 사용하는 방법입니다.
이름에서 유추할 수 있듯이 .sort_index()
는 인덱스(index)를 기준으로, .sort_values()
는 컬럼의 값을 기준으로 데이터를 정렬합니다.
.sort_index()를 사용하여 데이터 정렬하기
In [1]:
# 판다스 라이브러리 임포트
import pandas as pd
# plotly express에 내장되어있는 gapminder 데이터프레임을 사용하겠습니다.
import plotly.express as px
df = px.data.gapminder()
# 데이터 df를 인덱스를 기준으로 정렬합니다.
# 기본 정렬 방식은 오름차순(ascending)입니다.
# 내림차순으로 정렬하고 싶다면 ascending 옵션을 False로 설정하면 됩니다.
df_sorted_by_index = df.sort_index(ascending=False)
# 정렬 결과를 출력합니다.
df_sorted_by_index.head()
Out[1]:
.sort_values()를 사용하여 데이터 정렬하기
sort_values()
의 경우에는 어떤 컬럼의 값을 기준으로 정렬해야 하는지 명시적으로 설정해야하기 때문에, by
옵션에 정렬 기준이되는 컬럼명을 집어넣습니다.In [2]:
# 데이터 df를 year 컬럼의 값을 기준으로 정렬합니다.
# 기본 정렬 방식은 오름차순(ascending)입니다.
# 내림차순으로 정렬하고 싶다면 ascending 옵션을 False로 설정하면 됩니다.
df_sorted_by_values = df.sort_values(by='year' ,ascending=False)
# 정렬 결과를 출력합니다.
df_sorted_by_values.head()
Out[2]:
여러 개의 컬럼을 기준으로 정렬하고 싶다면 by
옵션에 리스트를 집어넣으면 됩니다.
In [3]:
# 데이터 df를 [year, pop] 컬럼의 값을 기준으로 정렬합니다.
# 기본 정렬 방식은 오름차순(ascending)입니다.
# 내림차순으로 정렬하고 싶다면 ascending 옵션을 False로 설정하면 됩니다.
df_sorted_by_values = df.sort_values(by=['year', 'pop'] ,ascending=False)
# 정렬 결과를 출력합니다.
df_sorted_by_values.head()
Out[3]:
-이 글은 아나콘다(Anaconda3)가 설치된 환경을 기준으로 작성되었습니다.