Créez des tableaux de bord interactifs avec Streamlit

Contenu

Cet article a été publié dans le cadre du Blogathon sur la science des données.

introduction

Dans la visualisation de données, Le tableau de bord est la grande interface utilisateur graphique qui vous aide à afficher des informations de manière hautement interactive et informative. Aide à visualiser les indicateurs clés et les tendances des données.

image2-9960251

Les différents graphismes, comme des barres, Gâteaux, graphiques en courbes, etc., aider à explorer l'ensemble de données et nous fournir des informations utiles. Les tableaux de bord sont vraiment utiles pour afficher efficacement les indicateurs clés de performance. Cependant, créer des tableaux de bord est toujours une tâche fastidieuse pour les développeurs.

image4-7200012

Il existe des bibliothèques comme Plotly, Bokeh en Python qui permet de créer un tableau de bord. Mais je n'ai pas trouvé cela facile pour créer une planche parfaite. Finalement, J'ai trouvé des moyens simples de créer un tableau de bord qui vous permet de créer un tableau de bord assez efficace et informatif.

Streamlit

Streamlit gagne en popularité dans le domaine de l'apprentissage automatique et de la science des données. C'est une bibliothèque très facile pour créer une planche parfaite en passant un peu de temps. Il est également livré avec le serveur Web intégré et vous permet de déployer sur un conteneur Docker.

Paramètres simplifiés

Installons d'abord Streamlit sur notre système et exécutons la commande hello pour vérifier son état de fonctionnement. Nous pouvons quitter l'application en cours d'exécution en utilisant Ctrl + c.

$ pip installer streamlit
$ bonjour

Ci-dessous l'invite de commande, vous pouvez voir que l'application fonctionne parfaitement.

image3-5-4724581

Quand je lance l'application, le serveur localhost s'ouvrira automatiquement dans votre navigateur. Ceci est la page d'accueil du framework open source de l'application Streamlit.

image6-3-6317778

Importer des bibliothèques

Nous allons importer les bibliothèques nécessaires pour tracer et afficher les informations.

importer simplifié en tant que st
importer des pandas au format pd
importer numpy en tant que np
importer plotly.express au format px
de plotly.subplots importer make_subplots
importer plotly.graph_objects au fur et à mesure
importer matplotlib.pyplot en tant que plt

Nous pouvons afficher le texte de différentes manières. Streamlit vous permet d'écrire le titre, l'en-tête et prend également en charge diverses fonctions.

  1. st.titre () – pour définir le titre
  2. st.texte () écrire la description du graphe particulier
  3. st.markdown () pour afficher le texte comme une remise
  4. latex.st. () afficher des expressions mathématiques au tableau.
  5. st.écrire () aide à tout montrer, comme graphique, trame de données, les fonctions, maquette, etc.
  6. st.barre latérale () est utilisé pour afficher les données dans la barre latérale.
  7. st.dataframe () pour afficher le bloc de données
  8. st.map () pour afficher la carte en une seule ligne de code, etc.

Définir le titre et la légende de la barre latérale pour le tableau de bord Streamlit

  1. st.titre (“Panel Covid-19 pour l'Inde”)
  2. st.markdown (« Le panel visualisera la situation du Covid-19 en Inde »)
  3. st.markdown (« La maladie du coronavirus (COVID-19 [feminine) est une maladie infectieuse causée par un coronavirus nouvellement découvert. La plupart des personnes infectées par le virus COVID-19 connaîtront une maladie respiratoire légère à modérée et se rétabliront sans nécessiter de traitement spécial.’ Cette application vous fournit une analyse d'impact en temps réel des cas confirmés, décédé, actif et remis de COVID-19)
  4. st.sidebar.title (“Sélecteur d'affichage”)
  5. st.sidebar.markdown (“Sélectionnez des graphiques / graphiques en conséquence:”)

Charger le jeu de données

Ici, nous allons utiliser l'ensemble de données COVID-19 pour la visualisation du tableau de bord.

DATA_URL=('E:Projets de science des donnéesNIELIT projectcovid_19_world.csv')
@st.cache(persister=Vrai)( Si vous avez un cas d'utilisation différent où les données ne changent pas si souvent, vous pouvez simplement utiliser ceci)

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

covid_data=load_data()

Visualisation des données par cas

case à cocher st.sidebar.("Afficher l'analyse par état", Vrai, clé=1)
select = st.sidebar.selectbox('Sélectionner un état',df['Etat'])

#obtenir l'état sélectionné dans la boîte de sélection
state_data = df[df['Etat'] == sélectionner]
select_status = st.sidebar.radio("Statut du patient Covid-19", ('Confirmé',
'Actif', 'Rétabli', 'Décédé'))

Nous avons utilisé la case à cocher pour choisir l'analyse par états. Selectbox affichera la liste des États touchés par COVID-19. Le bouton radio pour choisir les cas actifs, Confirmé, Mort ou récupéré.

Tracer le graphique

def get_total_dataframe(base de données):
    total_dataframe =. DataFrame({
    'Statut':['Confirmé', 'Rétabli', 'Des morts','Actif'],
    'Nombre de cas':(dataset.iloc[0]['confirmé'],
    dataset.iloc[0]['rétabli'], 
    dataset.iloc[0]['des morts'],dataset.iloc[0]['actif'])})
    return total_dataframe

state_total = get_total_dataframe(state_data)

si st.sidebar.case à cocher("Afficher l'analyse par état", Vrai, clé=2):
    st.markdown("## **Analyse au niveau de l'État**")
    st.markdown("### Globalement confirmé, actif, récupéré et " +
    "Cas décédés dans %s encore" % (sélectionner))
    si ce n’est pas st.checkbox('Masquer le graphique', Faux, clé=1):
        state_total_graph = px.bar(
        state_total, 
        x='Statut',
        y='Nombre de cas',
        étiquettes={'Nombre de cas':'Nombre de cas en %s' % (sélectionner)},
        couleur="Statut")
        st.plotly_chart(state_total_graph)

Après avoir exécuté ce code, nous pouvons sélectionner les cas en fonction de l'état requis. La méthode get_total_dataframe est utilisée pour obtenir l'ensemble de données pour tracer le graphique pour l'état sélectionné.

Pour tracer le graphique, nous avons utilisé la méthode de la bibliothèque plotly.express. Et finalement, afficher le graphique en utilisant st.plotly_chart ().

Le graphique montrant les cas du Maharashtra.

image5-5-1237804

Afficher un bloc de données ou un tableau

Nous pouvons également voir le bloc de données en vue tableau à l'aide de st.dataframe () y st.table ().

def get_table():
    datatable = df[['Etat', 'confirmé', 'rétabli', 'des morts','actif']].trier_valeurs(par=['confirmé'], ascendant=Faux)
    datatable = datatable[table de données['Etat'] != 'État non affecté']
    return datatable

datatable = get_table()
st.markdown("### Cas de Covid-19 en Inde")
st.markdown("Le tableau suivant vous donne une analyse en temps réel des confirmations, actif, cas récupérés et décédés de Covid-19 concernant chaque État de l'Inde.")
st.dataframe(table de données) # affichera la trame de données
st.table(table de données)# affichera le tableau

image1-6-2052062

conclusion

Streamlit est considérée comme la plate-forme de création de tableaux de bord d'apprentissage automatique et de science des données à la croissance la plus rapide. Il est considéré comme l'une des meilleures bibliothèques de panneaux. Vous pouvez expérimenter avec différents ensembles de données pour créer des tableaux de bord interactifs.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.