오래만에 글 써보는데 앞으로는 제 공부 복습용도로 정리만 할 예정입니다..
우연히 time series to image를 하고 러닝 돌리는 걸 접하게 되서 해보려고 관련 내용을 정리합니다 :)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pyts.image import GramianAngularField <- 가장 중요한 놈
df = pd.read_csv("MARINE.csv", encoding = "cp949") <- utf-8 말고 cp949로 설정 하세요~~
df["Time"] = pd.to_datetime(df.iloc[:, 0]) <- 첫 번째 컬럼이 시간 정보일 경우
data = df.iloc[:, 1].dropna().values <- 두 번째 컬럼이 적용하고 싶은 데이터 일 경우, 결측값 제거
data = data.reshape(1, -1)
gaf = GramianAngularField(image_size = data.shape[1], method = "summation") <- "difference"도 가능
gaf_image = gaf.fit_transform(data)
plt.figure(figsize = (10, 5))
plt.imshow(gaf_image[0], cmap = "rainbow", origin = "lower")
plt.colorbar()
plt.tight_layout()
plt.show()