[파이썬] matplotlib 시계열 데이터의 롤링 및 리샘플링

맷플롯립(Matplotlib)은 파이썬에서 데이터 시각화를 위해 널리 사용되는 라이브러리입니다. 이 라이브러리는 다양한 종류의 데이터를 시각적으로 표현하고, 시계열 데이터를 다루는 데에도 매우 유용합니다. 이번 블로그 포스트에서는 맷플롯립을 사용하여 시계열 데이터를 롤링 및 리샘플링하는 방법에 대해 알아보겠습니다.

시계열 데이터의 롤링(Rolling)

롤링은 시간 순서로 정렬된 데이터에서 이동 평균, 이동 합계 등과 같은 통계량을 계산하는 방법입니다. 이를 통해 데이터에 포함된 잡음을 제거하고, 시계열 데이터의 전반적인 추세를 파악할 수 있습니다.

import matplotlib.pyplot as plt
import pandas as pd

# 예시 데이터 생성
data = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# 이동 평균 계산
rolling_mean = data.rolling(window=3).mean()

# 시계열 데이터와 롤링된 데이터 시각화
plt.plot(data, label='Original Data')
plt.plot(rolling_mean, label='Rolling Mean')
plt.legend()
plt.show()

위의 예제에서는 3개의 데이터를 기준으로 이동 평균을 계산한 결과를 시각화하였습니다. rolling() 메서드를 사용하여 이동 평균을 계산한 뒤, 시계열 데이터와 롤링된 데이터를 plot() 메서드를 사용하여 함께 표시합니다.

시계열 데이터의 리샘플링(Resampling)

리샘플링은 시계열 데이터의 빈도를 변경하는 것을 의미합니다. 이를 통해 데이터의 빈도를 높이거나 낮출 수 있으며, 불규칙하게 기록된 데이터를 고정된 빈도로 정렬할 수 있습니다.

import matplotlib.pyplot as plt
import pandas as pd

# 예시 데이터 생성
data = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# 시계열 데이터의 빈도 변경
resampled_data = data.resample('6H').mean()

# 시계열 데이터와 리샘플링된 데이터 시각화
plt.plot(data, label='Original Data')
plt.plot(resampled_data, label='Resampled Data')
plt.legend()
plt.show()

위의 예제에서는 시계열 데이터를 6시간 간격으로 리샘플링하여 평균값을 계산한 결과를 시각화하였습니다. resample() 메서드를 사용하여 리샘플링한 뒤, 시계열 데이터와 리샘플링된 데이터를 plot() 메서드를 사용하여 함께 표시합니다.

시계열 데이터의 롤링과 리샘플링은 맷플롯립을 사용하여 간단하게 수행할 수 있습니다. 이를 통해 시계열 데이터를 좀 더 효과적으로 분석하고 시각화할 수 있습니다.