Creación de una Aplicación de Datos con Streamlit en Python
Streamlit es una biblioteca de Python que permite crear aplicaciones web interactivas para el análisis de datos de manera rápida y sencilla. A continuación, se describe cómo crear una aplicación de datos utilizando Streamlit.
1. Instalación de Streamlit
Primero, necesitas instalar Streamlit. Puedes hacerlo utilizando pip
:
pip install streamlit
2. Creación de la Aplicación
Vamos a crear una aplicación simple que cargue un archivo CSV, muestre los datos en una tabla y genere gráficos interactivos.
Paso 1: Importar las Bibliotecas Necesarias
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
Paso 2: Crear la Función Principal de la Aplicación
def main():
st.title("Aplicación de Datos con Streamlit")
st.write("Esta es una aplicación simple para cargar y visualizar datos.")
# Cargar el archivo CSV
uploaded_file = st.file_uploader("Elige un archivo CSV", type="csv")
if uploaded_file is not None:
data = pd.read_csv(uploaded_file)
st.write("Datos cargados:")
st.dataframe(data)
# Mostrar estadísticas básicas
st.write("Estadísticas descriptivas:")
st.write(data.describe())
# Generar gráficos
st.write("Gráfico de barras:")
column = st.selectbox("Selecciona una columna para el gráfico de barras", data.columns)
plt.figure(figsize=(10, 5))
data[column].value_counts().plot(kind='bar')
st.pyplot(plt)
st.write("Gráfico de dispersión:")
x_column = st.selectbox("Selecciona la columna X", data.columns)
y_column = st.selectbox("Selecciona la columna Y", data.columns)
plt.figure(figsize=(10, 5))
plt.scatter(data[x_column], data[y_column])
plt.xlabel(x_column)
plt.ylabel(y_column)
st.pyplot(plt)
if __name__ == "__main__":
main()
3. Ejecutar la Aplicación
Guarda el código anterior en un archivo llamado app.py
. Luego, ejecuta la aplicación utilizando el siguiente comando:
streamlit run app.py
Conclusión
Con estos sencillos pasos, puedes crear una aplicación de datos interactiva utilizando Streamlit en Python. Streamlit facilita la creación de aplicaciones web para el análisis de datos, permitiendo a los desarrolladores centrarse en la lógica de los datos sin preocuparse por la infraestructura web.
Top comments (0)