[Python] GramianAngularField

Woozard·2024년 3월 30일
0

Python

목록 보기
3/3

오래만에 글 써보는데 앞으로는 제 공부 복습용도로 정리만 할 예정입니다..

우연히 time series to image를 하고 러닝 돌리는 걸 접하게 되서 해보려고 관련 내용을 정리합니다 :)

import

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 <- 두 번째 컬럼이 적용하고 싶은 데이터 일 경우, 결측값 제거

시계열 데이터를 2D 배열로 변환

data = data.reshape(1, -1)

GAF 객체 생성 및 변환

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()
profile
Hello, World!

0개의 댓글