import statsmodels.api as sm import pandas as pd import streamlit as st model_types = ['Additive', 'Multiplicative'] def decompose_time_series(data): selected_model_type = st.radio( 'Model type:', model_types) decomposition = sm.tsa.seasonal_decompose( data, model=selected_model_type.lower()) return [decomposition, selected_model_type] def extract_trend_seasonal_resid(decomposition): trend = decomposition.trend seasonal = decomposition.seasonal residual = decomposition.resid return [trend, seasonal, residual] def create_trend_seasonal_df(trend, seasonal): frame = {'Trend': trend, 'Seasonal': seasonal} return pd.DataFrame(frame)