[PYTHON] Création d'une application d'analyse de données à l'aide de Streamlit

Qu'est-ce que Streamlit

Cet article explique comment utiliser Streamlit. Streamlit est un framework python qui vous permet de créer des applications frontales. Les graphiques créés avec le DataFrame de Pandas et les bibliothèques de dessins telles que plotly et altair peuvent être intégrés et peuvent être appliqués à l'analyse des données en fonction de l'appareil.

environnement

Installation

Il peut être installé de plusieurs manières.

  1. Installez avec pip. Recommandé par HP

Terminal


pip install streamlit
  1. Créez un environnement virtuel avec conda. Reportez-vous au forum officiel

Terminal


conda create -y -n streamlit python=3.7
conda activate streamlit
pip install streamlit

Exécution de fichier

Exécutez le fichier Python comme suit:

Terminal


nom du fichier d'exécution streamlit.py

Fonctionnalités Streamlit

La [référence API] officielle HP (https://docs.streamlit.io/en/stable/api.html) résume les fonctionnalités de streamlit. Parmi eux, les fonctions qui peuvent être utilisées pour l'analyse des données sont résumées.

Afficher le titre

st_app.py


import streamlit as st
st.title('My app')

スクリーンショット 2020-10-16 23.51.02.png

Afficher le document

st_app.py


import streamlit as st
st.write("Good morning")

スクリーンショット 2020-10-16 23.51.14.png

Affichage de DataFrame

st_app.py


import streamlit as st
import pandas as pd
st.table(pd.DataFrame({
    'first column': [1, 2, 3, 4],
    'second column': [10, 20, 30, 40]
}))

スクリーンショット 2020-10-16 23.51.22.png

Affichage Markdown

st_app.py


import streamlit as st
st.markdown('# Markdown documents')

Affichage de Plotly

Plotly est l'une des bibliothèques de dessin python qui peut créer différents types de graphiques.

st_app.py


import streamlit as st
import plotly.graph_objs as go

animals = ['giraffes', 'orangutans', 'monkeys']
populations = [20, 14, 23]

fig = go.Figure(data=[go.Bar(x=animals, y=populations)])

fig.update_layout(
    xaxis = dict(
        tickangle = 0,
        title_text = "Animal",
        title_font = {"size": 20},
        title_standoff = 25),
    yaxis = dict(
        title_text = "Populations",
        title_standoff = 25),
    title ='Title')


st.plotly_chart(fig, use_container_width=True)

スクリーンショット 2020-10-16 22.42.45.png

Affichage d'Altair

Altair est l'une des bibliothèques de dessin python qui peut créer différents types de graphiques. La fonction est de saisir des données avec Pandas DataFrame. Référence

st_app.py


import streamlit as st
import altair as alt
from vega_datasets import data

source = data.cars()

fig = alt.Chart(source).mark_circle(size=60).encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
    tooltip=['Name', 'Origin', 'Horsepower', 'Miles_per_Gallon']
).properties(
    width=500,
    height=500
).interactive()

st.write(fig)

スクリーンショット 2020-10-16 22.56.31.png

Affichage des boutons

Altair peut afficher un bouton qui renvoie un type booléen.

st_app.py


import streamlit as st
answer = st.button('Say hello')

if answer == True:
     st.write('Why hello there')
else:
     st.write('Goodbye')

[Avant d'appuyer sur] スクリーンショット 2020-10-19 10.00.35.png

[Après avoir appuyé sur] スクリーンショット 2020-10-19 10.03.34.png

Affichage du bouton de contrôle

Il est également possible d'afficher un bouton de contrôle qui renvoie un type booléen.

st_app.py


import streamlit as st
answer = st.button('Say hello')

if answer == True:
     st.write('Why hello there')
else:
     st.write('Goodbye')

【Pas de contrôle】 スクリーンショット 2020-10-19 10.09.26.png

[Vérifié] スクリーンショット 2020-10-19 10.11.17.png

Affichage des boutons radio

Il est également possible de sélectionner un élément avec un bouton radio.

st_app.py


import streamlit as st
genre = st.radio(
     "What's your favorite movie genre",
     ('Comedy', 'Drama', 'Documentary'))

if genre == 'Comedy':
     st.write('You selected comedy.')
else:
     st.write("You didn't select comedy.")

スクリーンショット 2020-10-19 10.15.51.png

Affichage de la liste déroulante

Si vous souhaitez n'en sélectionner qu'un dans la liste déroulante:

st_app.py


import streamlit as st
agree = st.checkbox('I agree')

if agree == True :
     st.write('Great!')

スクリーンショット 2020-10-16 23.46.55.png

Pour en sélectionner deux ou plus dans la liste déroulante en même temps:

st_app.py


import streamlit as st
options = st.multiselect(
    'What are your favorite colors',
    ['Green', 'Yellow', 'Red', 'Blue'],
    ['Yellow', 'Red'])

st.table(options)

スクリーンショット 2020-10-16 23.47.16.png

Affichage du curseur

Pour sélectionner une valeur: Dans l'exemple suivant, un curseur qui se déplace avec une valeur minimale de 0, une valeur maximale de 130, un intervalle de 1 et une valeur initiale de 25 s'affiche.

st_app.py


import streamlit as st
age = st.slider('How old are you?',  min_value=0, max_value=130, step=1, value=25)
st.write("I'm ", age, 'years old')

スクリーンショット 2020-10-16 23.14.24.png

Pour sélectionner deux valeurs: Dans l'exemple suivant, un curseur qui se déplace avec une valeur minimale de 0,0, une valeur maximale de 100,0 et une valeur initiale de `` (25,0, 75,0) '' s'affiche.

st_app.py


import streamlit as st
values = st.slider(
    'Select a range of values',
   0.0, 100.0, (25.0, 75.0))
st.write('Values:', values)

スクリーンショット 2020-10-16 23.14.34.png

Exemple d'application

Recommended Posts

Création d'une application d'analyse de données à l'aide de Streamlit
Créer une application Web avec Flask ①
Créer une application Web avec Flask ③
Créer une application Web avec Flask ④
Analyse des données à l'aide de xarray
Création d'une application interactive à l'aide d'un modèle de rubrique
Analyse de données à l'aide de pandas python
Créer un tableau simple à l'aide de prettytable
Recommandation d'analyse des données à l'aide de MessagePack
Créer un modèle d'apprentissage à l'aide de MNIST
Créer une feuille de calcul Google à l'aide de l'API Python / Google Data
Transformons le logiciel d'analyse de données Wiire en une application WEB! Deuxième étape!
J'ai essayé d'effectuer une analyse de cluster de clients à l'aide des données d'achat
Préparer un environnement de langage de programmation pour l'analyse des données
Analyse des données Titanic 2
Créer des données d'entraînement
Analyse de données python
Comment déployer une application Streamlit sur GCP (GAE)
Créer un analyseur de données binaires à l'aide de Kaitai Struct
Analyse des données Titanic 1
Analyse de données en Python: une note sur line_profiler
Analyse des données Titanic 3
Environnement enregistré pour l'analyse des données avec Python
Pratique de création d'une plateforme d'analyse de données avec BigQuery et Cloud DataFlow (traitement de données)
Histoire de l'analyse de données par apprentissage automatique
Créez rapidement un tableau de bord d'analyse de données Python avec Streamlit et déployez-le sur AWS
Créer une application de gestion de partition shogi à l'aide de Django 5 ~ Passer les données de la base de données au modèle ~
Créer un bot de collecte de données en Python à l'aide de Selenium
100 langage traitement knock-92 (utilisant Gensim): application aux données d'analogie
[Python] [Word] [python-docx] Analyse simple des données de diff en utilisant python
Essayez de créer un fichier compressé en utilisant Python et zlib
Analyse de Big Data à l'aide du framework de contrôle de flux de données Luigi
Créez un graphique à l'aide du bouton et du curseur de l'intrigue
J'ai essayé de lire les données d'un fichier en utilisant Node.js.
[Livre technique] Introduction à l'analyse de données avec Python -1 Chapitre Introduction-
4. Création d'un programme structuré
Présentation de l'analyse de données python
Nettoyage des données 2 Nettoyage des données à l'aide de DataFrame
Nettoyage des données à l'aide de Python
Création d'outils de grattage
Modèle d'analyse de données Python
Application Web utilisant Bottle (1)
Créer un chargeur de jeu de données
Analyse orthologue à l'aide d'OrthoFinder
Analyse de données avec Python
Créez un environnement d'analyse de données avec Kedro + MLflow + Github Actions
100 Language Processing Knock-84 (en utilisant des pandas): Création d'une matrice de contexte de mots
Une note lors de la création d'un graphe dirigé à l'aide de Graphviz en Python
Dockerfile pour créer un environnement de science des données basé sur pip3
[Treasure Data] [Python] Exécutez une requête sur Treasure Data à l'aide du client TD.
Créer un environnement d'analyse de données python sur Mac (El Capitan)
[Introduction] Analyse de données satellitaires artificielles à l'aide de Python (environnement Google Colab)
<Python> Construisez un serveur dédié pour l'analyse des données Jupyter Notebook
J'ai essayé d'analyser les données scRNA-seq en utilisant l'analyse des données topologiques (TDA)
L'histoire de la création d'une base de données à l'aide de l'API Google Analytics