How to persist a dataframe with st.session_state?

I want the second dataframe to keep the old row and add new rows below


Blockquote

librerias

import streamlit as st

import joblib

import pandas as pd

abrir el archivo con el modelo de machine learning

classifier = joblib.load(‘model_joblib.pkl’)

#funcion principal para obtener los datos que ingresa el usuario

def main():

# titulo

st.title('Estimacion de tiempo y costos de instalaciones electricas residenciales')

st.sidebar.header('Datos a ingresar')

def userInput():

    # metrosc   plantas hab baños   salac   cocina  lav est p110    pilum   p220    ptv     ptlf    dias    costo

    # funcion para los parametros del modelo en el sidebar

    metrosc = st.sidebar.slider(

        'Metros cuadrados del terreno', 100, 300, 100, 50)

    plantas = st.sidebar.slider('pisos de la vivienda', 1, 2, 1)

    hab = st.sidebar.slider('habitaciones de la vivienda', 1, 5, 1)

    baños = st.sidebar.slider('baños de la vivienda', 1, 5, 1)

    salac = st.sidebar.slider('sala-comedor', 1, 2, 1)

    cocina = st.sidebar.slider('cocina', 1, 2, 1)

    lav = st.sidebar.slider('lavandero', 1, 2, 1)

    est = st.sidebar.slider('estacionamiento', 1, 2, 1)

    #Diccionario que contiene las variables que se añaden desde los sidebar.slider

    datos = {

        'metrosc': metrosc,

        'plantas': plantas,

        'hab': hab,

        'baños': baños,

        'salac': salac,

        'cocina': cocina,

        'lav': lav,

        'est': est,

    }

    #luego se guardan las caracteristicas (features) en un dataframe y sera lo que devuelva esta funcion

    features = pd.DataFrame(datos, index=[0])

    return features

#Renombramos la funcion a df para especificar que es el dataframe de los datos que se tomaron anteriormente

df = userInput()

model = 'ARBOL DE DECISION'

st.subheader('Parametros del usuario')

st.subheader(model)

#En la pagina se mostraran los datos que escogio el usuario tabulados 

st.write(df)

#la variable resultado contiene el tipo de algoritmo, especificando que va a hacer una prediccion del dataframe que se creo anteriormente

resultado = classifier.predict(df)

#Se crea un segundo dataframe para alojar las variables resultantes de la prediccion

df2 = pd.DataFrame(resultado,

                            columns=['Puntos 110V',

                            'Puntos iluminacion', 'Puntos 220', 'Puntos TV', 'Puntos telf', 'Dias', 'Costo Aproximado por vivienda $'],index=[0]

                )

boton = st.button('EJECUTAR')

if boton:

    st.table(df2)

if name == ‘main’:

main()

Blockquote