Add scaling strategies

This commit is contained in:
2024-06-19 09:04:39 +02:00
parent 5f960df838
commit a325603fd9
2 changed files with 73 additions and 5 deletions

View File

@@ -1,14 +1,15 @@
import streamlit as st
from mvstrategy import MVStrategy
from normstrategy import MVStrategy, ScalingStrategy
if "data" in st.session_state:
data = st.session_state.data
st.session_state.data = data.copy()
for column, series in data.items():
col1, col2 = st.columns(2)
missing_count = series.isna().sum()
choices = MVStrategy.list_available(data, series)
option = st.selectbox(
option = col1.selectbox(
f"Missing values of {column} ({missing_count})",
choices,
index=1,
@@ -17,6 +18,14 @@ if "data" in st.session_state:
# Always re-get the series to avoid reusing an invalidated series pointer
data = option.apply(data, column, data[column])
choices = ScalingStrategy.list_available(data, series)
option = col2.selectbox(
"Scaling",
choices,
key=f"scaling-{column}",
)
data = option.apply(data, column, data[column])
st.write(data)
st.session_state.working_data = data
else: