본문 바로가기

카테고리 없음

파이썬을 엑셀처럼 사용하기 (3): 데이터 정렬하기 pandas sort_values()

파이썬을 엑셀처럼 사용하기 시리즈

 (1) 엑셀이 있는데 왜 파이썬을 배워야 하지?

 (2) 데이터 열기 pandas read_excel()

 (3) 데이터 정렬하기 pandas sort_values()

 (4) 데이터 필터링하기, 비교 연산자 pandas filtering

 (5) 사칙연산하기 pandas arithmetic

 (6) 데이터 합치기 pandas merge()

 (7) 피벗 테이블 만들기 pandas pivot_table()

 실습하기 위해서는 파이썬 아나콘다와 주피터 노트북이 설치되어있어야 합니다. 

  - [파이썬] 파이썬 아나콘다 설치 방법, 파이썬 설치 방법

  - [파이썬] 주피터 노트북(jupyter notebook) 사용법

✔ 실습 데이터는 제 깃헙에서 받을 수 있습니다. 데이터1, 데이터2


엑셀에서 데이터를 정렬하는 것처럼 판다스에서도 데이터를 정렬할 수 있습니다. 간단한 코드 몇 줄이면 됩니다.

우선 엑셀에서 데이터를 정렬하기 위해서는 [데이터 > 정렬] 순서로 클릭하고 정렬 창에 원하는 조건을 선택하면 됩니다.

 

 

데이터 정렬하기

판다스에서 데이터를 정렬하는 방법은 DataFrame.sort_values() 메서드를 사용하는 것입니다. 판다스로 데이터를 읽어오면 기본적으로 데이터프레임 형태기 때문에 읽어온 변수명 뒤에 .sort_values()라고 쓰면 됩니다.

import pandas as pd
sales = pd.read_excel('SupermarketSales.xlsx')
type(sales)
# >>> pandas.core.frame.DataFrame

 

.sort_values() 메서드에 정렬할 기준이 되는 열 이름을 알려줍니다. 지점 이름을 기준으로 정렬해보겠습니다.

sales = sales.sort_values('지점')
sales

 

내림차순 정렬하기

기본 정렬 방식은 오름차순입니다. 내림차순으로 정렬하기 위해서는 ascending 옵션을 추가하면 됩니다.

sales = sales.sort_values('지점', ascending=False)
sales

 

여러 개의 열을 기준으로 정렬하기

정렬 기준이 되는 열을 추가하고 싶다면 by 옵션을 추가하면 됩니다. '지점'은 오름차순으로 '고객타입'은 내림차순으로 정렬해보겠습니다.

sales = sales.sort_values(by=['지점', '고객타입'], ascending=[True, False])
sales

 

 

-이 글은 아나콘다(Anaconda3)가 설치된 환경을 기준으로 작성되었습니다.