Seaborn은 Python에서 통계 데이터 시각화에 널리 사용되는 라이브러리입니다. 시간의 흐름에 따른 데이터 변화를 확인하고 싶다면 시계열 플롯(Time Series Plot)이 유용하며, Seaborn에서는 lineplot() 함수 하나로 간단하게 구현할 수 있습니다. 이 글에서는 구매일자별 판매량 데이터를 예제로 시계열 선 그래프를 그리는 전체 과정을 살펴보겠습니다.
1. 필요한 라이브러리 임포트하기
가장 먼저 Seaborn과 함께 사용할 Pandas, Matplotlib 라이브러리를 불러옵니다.
import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt
2. 시계열 데이터로 DataFrame 만들기
다음으로 날짜 컬럼(Date_of_Purchase)과 수치 컬럼(Units Sold)을 포함하는 DataFrame을 생성합니다. 시계열 플롯을 그리려면 반드시 날짜 데이터가 포함된 열이 있어야 합니다.
dataFrame = pd.DataFrame({
'Date_of_Purchase': ['2018-07-25', '2018-10-25', '2019-01-25', '2019-05-25',
'2019-08-25', '2020-09-25', '2021-03-25'],
'Units Sold': [98, 77, 45, 70, 70, 87, 66]
})
3. lineplot()으로 시계열 플롯 그리기
lineplot() 함수의 x 인수에는 날짜 컬럼을, y 인수에는 수치 컬럼을 지정하고, data 인수에 앞서 만든 DataFrame을 전달합니다.
sb.lineplot(x="Date_of_Purchase", y="Units Sold", data=dataFrame)
전체 예제 코드
지금까지의 내용을 하나로 합친 전체 코드는 다음과 같습니다.
import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt
# DataFrame 생성
dataFrame = pd.DataFrame({
'Date_of_Purchase': ['2018-07-25', '2018-10-25', '2019-01-25', '2019-05-25',
'2019-08-25', '2020-09-25', '2021-03-25'],
'Units Sold': [98, 77, 45, 70, 70, 87, 66]
})
# 시계열 플롯 그리기
sb.lineplot(x="Date_of_Purchase", y="Units Sold", data=dataFrame)
plt.show()
출력 결과
위 코드를 실행하면 x축에 구매일자, y축에 판매량(Units Sold)이 표시된 선 그래프가 출력됩니다. 그래프를 통해 2018년부터 2021년까지 판매량이 어떻게 변화했는지 한눈에 파악할 수 있습니다.
실무 팁: 날짜 타입 변환하기
날짜가 문자열 상태로 두면 x축 값이 사전순으로 정렬되어 순서가 어긋날 수 있습니다. 아래와 같이 pd.to_datetime()으로 날짜 타입을 변환해 주면 더 정확하고 깔끔한 시계열 플롯을 얻을 수 있습니다.
dataFrame['Date_of_Purchase'] = pd.to_datetime(dataFrame['Date_of_Purchase'])
이처럼 Seaborn의 lineplot()을 활용하면 몇 줄의 코드만으로 직관적인 시계열 시각화를 완성할 수 있습니다. 매출 추이, 센서 데이터 분석 등 다양한 시간 기반 데이터 분석에 활용해 보세요.