Add scaling strategies
This commit is contained in:
@@ -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:
|
||||
|
Reference in New Issue
Block a user