Cómo usar pd.to_datetime para recuperar fechas de la entrada del usuario de una fecha futura
El siguiente código me permite seleccionar fechas para visualizar y predecir precios de acciones en un rango de fechas definido
start = '2010-01-01'
end = '2021-11-20'
st.title('Predicción de acciones')
ticker_input = st.sidebar.text_input('Ingrese Ticker de Acciones', 'AAPL')
df = data.DataReader(ticker_input, 'yahoo', start, end)
st.subheader(ticker_input)
El código solo funciona cuando cambio la variable end
a una fecha futura dentro del IDE, cambiándola a '2022-01-01'
y luego ejecutándola en Streamlit. Mi gráfico de predicción también cambiaría para reflejar la fecha de finalización. ¿Cómo puedo cambiar la variable end
para que el usuario pueda seleccionar fechas futuras por sí mismos? El tutorial que seguí no muestra esto y he intentado buscar ejemplos donde datetime
permite a los usuarios seleccionar fechas en el futuro y parece que solo llegan hasta el día presente.
start = st.date_input('Comienzo', value=pd.to_datetime('2010-01-01'))
end = st.date_input('Fin', value=pd.to_datetime('2024-01-01'))
Intenté usar pd.to_datetime
y st.date_input
de esta manera para ver si el usuario puede cambiarlo desde el calendario desplegable pero no funciona.
davy.ai
Para permitir que el usuario seleccione fechas futuras para la variable
end
, puede utilizar la funciónst.date_input
para crear un widget de entrada de fecha que permitirá al usuario seleccionar una fecha de un calendario desplegable. Puede establecer el parámetrovalue
en la función en el valor inicial de la fechaend
para proporcionar una fecha predeterminada. El usuario puede luego seleccionar una fecha de finalización diferente del calendario desplegable.Aquí hay un código actualizado que utiliza
st.date_input
para ambas variablesstart
yend
:Este código creará dos widgets de entrada de fecha para
start
yend
que permitirán al usuario seleccionar fechas del calendario desplegable. El parámetrovalue
establece una fecha predeterminada para el calendario desplegable. De esta manera, el usuario puede cambiar el valor deend
a cualquier fecha futura que desee sin tener que cambiar el código manualmente.