Crea dashboard interattive con Streamlit

Contenuti

Questo articolo è stato pubblicato nell'ambito del Blogathon sulla scienza dei dati.

introduzione

Nella visualizzazione dei dati, Pannello es la gran interfaz gráfica de usuario que le ayuda a mostrar la información de una manera altamente interactiva e informativa. Aiuta a visualizzare gli indicatori chiave e le tendenze dei dati.

immagine2-9960251

Le varie grafiche, come i bar, torte, grafici a linee, eccetera., aiutaci a esplorare il set di dati e forniscici informazioni utili. I dashboard sono davvero utili per visualizzare in modo efficace gli indicatori chiave di prestazione. tuttavia, creare dashboard è sempre un compito noioso per gli sviluppatori.

immagine4-7200012

Ci sono alcune librerie come Plotly, Bokeh in Python che ti permettono di creare una lavagna. Ma non li ho trovati facili per creare una tavola perfetta. Finalmente, Ho trovato alcuni modi semplici per creare un dashboard che ti permetta di creare un dashboard piuttosto efficace e informativo.

Streamlit

Streamlit sta guadagnando popolarità nell'apprendimento automatico e nella scienza dei dati. È una libreria molto semplice per creare una tavola perfetta spendendo un po' di tempo. Inoltre viene fornito con il server Web integrato e consente di eseguire la distribuzione nel contenitore docker.

Impostazioni semplificate

Installiamo prima Streamlit sul nostro sistema ed eseguiamo il comando hello per verificarne le condizioni di funzionamento. Possiamo uscire dall'applicazione in esecuzione usando Ctrl + C.

$ pip install streamlit
$ ciao streamlit

Di seguito è riportato il prompt dei comandi, È possibile vedere che l'applicazione funziona perfettamente.

Immagine3-5-4724581

Quando si esegue l'applicazione, Il server LocalHost si aprirà automaticamente nel browser. Questa è la home page del framework open source dell'app Streamlit.

Immagine6/3/6317778

Importa librerie

Importiamo le librerie necessarie per tracciare e visualizzare le informazioni.

import streamlit as st
import pandas as pd
import numpy as np
import plotly.express as px
from plotly.subplots import make_subplots
import plotly.graph_objects as go
import matplotlib.pyplot as plt

Possiamo visualizzare il testo in diversi modi. Streamlit ti permette di scrivere il titolo, l'intestazione e supporta anche varie funzioni.

  1. st.titolo () – per impostare il titolo
  2. st.text () Per scrivere la descrizione del grafico specifico
  3. st.markdown () para mostrar el texto como rebaja
  4. st.latex () per visualizzare espressioni matematiche sulla lavagna.
  5. st.write () aiuta a mostrare tutto, come grafico, frame di dati, funzioni, modello, eccetera.
  6. st.sidebar () viene utilizzato per visualizzare i dati nella barra laterale.
  7. st.dataframe () per visualizzare il riquadro dei dati
  8. st.mappa () per visualizzare la mappa in un codice a riga singola, eccetera.

Imposta il titolo e la didascalia della barra laterale per la dashboard Streamlit

  1. st.titolo (“Pannello de Covid-19 para India”)
  2. st.markdown ('Il panel visualizzerà la situazione del Covid-19 in India')
  3. st.markdown ("La malattia del coronavirus" (COVID-19) è una malattia infettiva causata da un coronavirus appena scoperto. La maggior parte delle persone infette dal virus COVID-19 sperimenterà una malattia respiratoria da lieve a moderata e guarirà senza richiedere un trattamento speciale.’ Questa applicazione fornisce un'analisi dell'impatto in tempo reale dei casi confermati, deceduto, attivo e guarito dal COVID-19)
  4. st.sidebar.title (“Selettore display”)
  5. st.sidebar.markdown (“Seleziona la grafica / grafica di conseguenza:”)

Carica il set di dati

Aquí vamos a utilizar el conjunto de datos COVID-19 para la visualización del tablero.

DATA_URL=(«E:Progetti di data scienceNIELIT projectcovid_19_world.csv')
@st.cache(persist=Vero)( Se hai un caso d'uso diverso in cui i dati non cambiano così spesso, puoi semplicemente usarlo)

def load_data():
    data=pd.read_csv(DATA_URL)
    return data

covid_data=load_data()

Visualización de datos por casos

st.sidebar.checkbox("Mostra analisi per stato", Vero, chiave=1)
select = st.sidebar.selectbox('Seleziona uno Stato',df['stato'])

#get the state selected in the selectbox
state_data = df[df['stato'] == seleziona]
select_status = st.sidebar.radio("Stato del paziente Covid-19", ('Confermato',
'Attivo', 'Recuperato', 'Deceduto'))

Hemos utilizado la casilla de verificación para elegir el análisis por estados. Selectbox mostrará la lista de estados afectados por COVID-19. El botón de radio para elegir los casos Activo, Confirmado, Muerte o Recuperado.

Trazar el gráfico

def get_total_dataframe(set di dati):
    total_dataframe = pd. DataFrame({
    'Stato':['Confermato', 'Recuperato', 'Decessi','Attivo'],
    «Numero di casi»:(dataset.iloc[0]['confermato'],
    dataset.iloc[0]['recuperato'], 
    dataset.iloc[0]["decessi"],dataset.iloc[0]['attivo'])})
    return total_dataframe

state_total = get_total_dataframe(state_data)

se st.sidebar.checkbox("Mostra analisi per stato", Vero, chiave=2):
    st.markdown("## **Analisi a livello di stato**")
    st.markdown("### Confermato nel complesso, Attivo, Recuperato e " +
    "Casi deceduti in %s ancora" % (Selezionare))
    in caso contrario, casella st.checkbox('Nascondi grafico', falso, chiave=1):
        state_total_graph = px.bar(
        state_total, 
        x='Stato',
        y='Numero di casi',
        etichette={«Numero di casi»:«Numero di casi in %s» % (Selezionare)},
        colore="Stato")
        st.plotly_chart(state_total_graph)

Dopo aver eseguito questo codice possiamo selezionare i casi in base allo stato richiesto. Il metodo get_total_dataframe viene utilizzato per ottenere il set di dati per tracciare il grafico per lo stato selezionato.

Per tracciare il grafico, abbiamo usato il metodo della libreria plotly.express. E infine, visualizzare il grafico utilizzando st.plotly_chart ().

Il grafico che mostra i casi di Maharashtra.

immagine5-5-1237804

Mostra un frame di dati o una tabella

También podemos ver el marco de datos en la vista de tabla usando st.dataframe () y st.table ().

def get_table():
    datatable = df[['stato', 'confermato', 'recuperato', "decessi",'attivo']].sort_values(per=['confermato'], ascendente=Falso)
    datatable = datatable[datatable['stato'] != 'Stato non assegnato']
    return datatable

datatable = get_table()
st.markdown("### Casi di Covid-19 in India")
st.markdown("La seguente tabella fornisce un'analisi in tempo reale del confermato, attivo, casi recuperati e deceduti di Covid-19 relativi a ciascuno stato in India.")
st.dataframe(datatable) # will display the dataframe
st.table(datatable)# visualizzerà la tabella

Immagine1-6-2052062

conclusione

Streamlit è considerata la piattaforma per la creazione di dashboard di machine learning e data science in più rapida crescita. È considerata una delle migliori librerie di pannelli. Puoi sperimentare diversi set di dati per creare dashboard interattive.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.