[PYTHON] Erstellen einer Datenanalyseanwendung mit Streamlit

Was ist Streamlit?

In diesem Artikel wird die Verwendung von Streamlit erläutert. Streamlit ist ein Python-Framework, mit dem Sie Front-End-Anwendungen erstellen können. Mit DataFrame und Zeichnungsbibliotheken von Pandas erstellte Diagramme wie Plotly und Altair können eingebettet und je nach Gerät auf die Datenanalyse angewendet werden.

Umgebung

Installation

Es kann auf verschiedene Arten installiert werden.

  1. Mit pip installieren. Offizielle HP empfohlen

Terminal


pip install streamlit
  1. Erstellen Sie eine virtuelle Umgebung mit conda. Siehe offizielles Forum

Terminal


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

Dateiausführung

Führen Sie die Python-Datei wie folgt aus:

Terminal


Name der Streamlit-Laufdatei.py

Optimierte Funktionen

Die offizielle HP API-Referenz fasst die Funktionen von streamlit zusammen. Darunter sind die Funktionen zusammengefasst, die zur Datenanalyse verwendet werden können.

Titel anzeigen

st_app.py


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

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

Dokument anzeigen

st_app.py


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

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

Anzeigen von 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

Markdown-Anzeige

st_app.py


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

Anzeige von Plotly

Plotly ist eine der Python-Zeichnungsbibliotheken, mit der verschiedene Arten von Diagrammen erstellt werden können.

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

Anzeige von Altair

Altair ist eine der Python-Zeichnungsbibliotheken, mit der verschiedene Arten von Diagrammen erstellt werden können. Die Funktion besteht darin, Daten mit Pandas DataFrame einzugeben. Referenz

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

Tastenanzeige

Altair kann eine Schaltfläche anzeigen, die einen Bool-Typ zurückgibt.

st_app.py


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

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

[Vor dem Drücken] スクリーンショット 2020-10-19 10.00.35.png

[Nach dem Drücken] スクリーンショット 2020-10-19 10.03.34.png

Anzeige der Check-Taste

Es ist auch möglich, eine Check-Schaltfläche anzuzeigen, die einen Bool-Typ zurückgibt.

st_app.py


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

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

【Keine Prüfung】 スクリーンショット 2020-10-19 10.09.26.png

[Überprüft] スクリーンショット 2020-10-19 10.11.17.png

Anzeige von Optionsfeldern

Es ist auch möglich, ein Element mit einem Optionsfeld auszuwählen.

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

Anzeige der Dropdown-Liste

Wenn Sie nur eine aus der Dropdown-Liste auswählen möchten:

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

So wählen Sie zwei oder mehr gleichzeitig aus der Dropdown-Liste aus:

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

Anzeige des Schiebereglers

So wählen Sie einen Wert aus: Im folgenden Beispiel wird ein Schieberegler angezeigt, der sich mit einem Minimalwert von 0, einem Maximalwert von 130, einem Intervall von 1 und einem Anfangswert von 25 bewegt.

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

So wählen Sie zwei Werte aus: Im folgenden Beispiel wird ein Schieberegler angezeigt, der sich mit einem Minimalwert von 0,0, einem Maximalwert von 100,0 und einem Anfangswert von (25.0, 75.0) bewegt.

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

Anwendungsbeispiel

Recommended Posts

Erstellen einer Datenanalyseanwendung mit Streamlit
Erstellen einer Webanwendung mit Flask ①
Erstellen einer Webanwendung mit Flask ③
Erstellen einer Webanwendung mit Flask ④
Datenanalyse mit xarray
Erstellen einer interaktiven Anwendung mithilfe eines Themenmodells
Datenanalyse mit Python-Pandas
Erstellen einer einfachen Tabelle mit Stettytable
Empfehlung zur Datenanalyse mit MessagePack
Erstellen eines Lernmodells mit MNIST
Erstellen einer Google-Tabelle mit der Python / Google Data-API
Lassen Sie uns die Datenanalysesoftware von Wiire in eine WEB-Anwendung verwandeln! Zweiter Schritt!
Ich habe versucht, eine Clusteranalyse von Kunden anhand von Kaufdaten durchzuführen
Bereiten Sie eine Programmiersprachenumgebung für die Datenanalyse vor
Datenanalyse Titanic 2
Trainingsdaten erstellen
Datenanalyse Python
So stellen Sie eine Streamlit-Anwendung für GCP (GAE) bereit
Erstellen Sie mit Kaitai Struct einen Binärdatenparser
Datenanalyse Titanic 1
Datenanalyse in Python: Ein Hinweis zu line_profiler
Datenanalyse Titanic 3
Aufgezeichnete Umgebung für die Datenanalyse mit Python
Praxis der Erstellung einer Datenanalyseplattform mit BigQuery und Cloud DataFlow (Datenverarbeitung)
Geschichte rund um die Datenanalyse durch maschinelles Lernen
Erstellen Sie mit Streamlit schnell ein Python-Datenanalyse-Dashboard und stellen Sie es in AWS bereit
Erstellen Sie eine Shogi-Score-Management-Anwendung mit Django 5 ~ DB-Daten an Vorlage übergeben ~
Erstellen Sie mit Selenium einen Datenerfassungsbot in Python
100 Sprachverarbeitung Knock-92 (mit Gensim): Anwendung auf Analogiedaten
[Python] [Word] [python-docx] Einfache Analyse von Diff-Daten mit Python
Versuchen Sie, eine komprimierte Datei mit Python und zlib zu erstellen
Big-Data-Analyse mit dem Datenflusskontroll-Framework Luigi
Erstellen Sie ein Diagramm mit der Plot-Schaltfläche und dem Schieberegler
Ich habe versucht, Daten aus einer Datei mit Node.js zu lesen.
[Technisches Buch] Einführung in die Datenanalyse mit Python -1 Kapitel Einführung-
4. Erstellen eines strukturierten Programms
Datenanalyse Übersicht Python
Datenbereinigung 2 Datenbereinigung mit DataFrame
Datenbereinigung mit Python
Erstellung von Schabewerkzeugen
Python-Datenanalysevorlage
Webanwendung mit Flasche (1)
Erstellen eines Dataset Loader
Orthologe Analyse mit OrthoFinder
Datenanalyse mit Python
Erstellen Sie eine Datenanalyseumgebung mit Kedro + MLflow + Github-Aktionen
100 Sprachverarbeitung Knock-84 (mit Pandas): Erstellen einer Wortkontextmatrix
Ein Hinweis beim Erstellen eines gerichteten Diagramms mit Graphviz in Python
Dockerfile zum Erstellen einer datenwissenschaftlichen Umgebung basierend auf pip3
[Schatzdaten] [Python] Führen Sie mit dem TD-Client eine Abfrage zu Schatzdaten aus.
Erstellen Sie eine Python-Datenanalyseumgebung auf einem Mac (El Capitan).
[Einführung] Künstliche Satellitendatenanalyse mit Python (Google Colab-Umgebung)
<Python> Erstellen Sie einen Server für die Datenanalyse mit Jupyter Notebook
Ich habe versucht, scRNA-seq-Daten mithilfe der topologischen Datenanalyse (TDA) zu analysieren.
Die Geschichte des Erstellens einer Datenbank mithilfe der Google Analytics-API