Петля для тренда, сезонности и resid
Я пытаюсь собрать несколько статистических данных об истории моих данных, чтобы лучше понять ее. Моя цель - создать цикл, который создает pdf-файл для тренда. сезонность и resid для каждого столбца в моем фрейме данных. Я написал цикл, чтобы сделать это, но каждый график содержит больше данных, чем он должен. Например, первый созданный график имеет только 1 строку, но затем следующий созданный график имеет строку из первого графика и новую строку.
Я создал некоторые поддельные данные для целей тестирования.
Что я уже пробовал:
#Creating random Data import pandas as pd import numpy as np from datetime import datetime, timedelta import matplotlib.pyplot as plt import statsmodels.api as sm #creating random data date_today = datetime.now() days = pd.date_range(date_today, date_today + timedelta(365), freq='D') np.random.seed(seed=1111) data = np.random.randint(1, high=100, size=len(days)) data2 = np.random.randint(1, high=200, size=len(days)) df = pd.DataFrame({'test': days, 'col1': data, 'col2': data2}) df = df.set_index('test') print(df) #Loop to create a resid, trend, and seasonality plot for each column in the dataframe for i in df: decomposition = sm.tsa.seasonal_decompose(df[i], model = 'additive') decomposition.resid.plot() plt.savefig('{} resid.pdf'.format(i), bbox_inches='tight') decomposition.seasonal.plot() plt.savefig('{} seasonal.pdf'.format(i), bbox_inches='tight') decomposition.trend.plot() plt.savefig('{} trend.pdf'.format(i), bbox_inches='tight')