Streamlit is an open-source Python library that allows data scientists and developers to create beautiful, interactive web applications with minimal effort. It's designed to turn data scripts into shareable web apps in just a few lines of code, making it an ideal tool for quickly prototyping and sharing machine learning models, data visualizations, and other data-driven applications.
Streamlit offers several advantages:
To get started with Streamlit, you'll need to install it first. Open your terminal and run:
pip install streamlit
Let's create a simple Streamlit app to get a feel for how it works. Create a new Python file called hello_streamlit.py
and add the following code:
import streamlit as st st.title("My First Streamlit App") st.write("Hello, World!") name = st.text_input("Enter your name") if name: st.write(f"Hello, {name}!")
To run your app, open your terminal, navigate to the directory containing your Python file, and run:
streamlit run hello_streamlit.py
Your default web browser should open automatically, displaying your Streamlit app.
Streamlit provides a variety of components to help you build interactive apps. Here are some of the most commonly used ones:
st.title()
: Displays text in title formattingst.header()
: Displays text in header formattingst.subheader()
: Displays text in subheader formattingst.text()
: Displays plain textst.markdown()
: Renders Markdown-formatted textst.text_input()
: Creates a single-line text input fieldst.number_input()
: Creates a numeric input fieldst.slider()
: Creates a slider for selecting a value within a rangest.selectbox()
: Creates a dropdown menu for selecting from a list of optionsst.checkbox()
: Creates a checkbox for boolean inputst.dataframe()
: Displays a pandas DataFramest.table()
: Displays static tablesst.json()
: Displays JSON-formatted datast.line_chart()
: Creates a line chartst.bar_chart()
: Creates a bar chartst.pyplot()
: Displays matplotlib plotsLet's create a slightly more advanced app that demonstrates some of Streamlit's capabilities:
import streamlit as st import pandas as pd import numpy as np import matplotlib.pyplot as plt # Set page title st.set_page_config(page_title="Data Visualization App") # Add a title st.title("Data Visualization with Streamlit") # Create a sample DataFrame df = pd.DataFrame(np.random.randn(50, 3), columns=["A", "B", "C"]) # Display the DataFrame st.subheader("Sample Data") st.dataframe(df) # Create a line chart st.subheader("Line Chart") st.line_chart(df) # Create a selectbox for choosing a column column = st.selectbox("Select a column for the histogram", df.columns) # Create a histogram st.subheader("Histogram") fig, ax = plt.subplots() ax.hist(df[column], bins=20) ax.set_xlabel(column) ax.set_ylabel("Frequency") st.pyplot(fig) # Add a slider for data filtering threshold = st.slider("Filter data by threshold", float(df.min().min()), float(df.max().max())) filtered_df = df[df[column] > threshold] # Display filtered data st.subheader("Filtered Data") st.dataframe(filtered_df)
This app demonstrates how to display data, create charts, add interactive elements like dropdowns and sliders, and update the display based on user input.
Streamlit offers an intuitive and powerful way to create interactive web applications using Python. Its simplicity and integration with popular data science libraries make it an excellent choice for quickly prototyping and sharing your data projects. As you continue to explore Streamlit, you'll discover even more features and possibilities for creating engaging, data-driven web apps.
08/11/2024 | Python
05/11/2024 | Python
22/11/2024 | Python
25/09/2024 | Python
08/12/2024 | Python
26/10/2024 | Python
05/11/2024 | Python
15/11/2024 | Python
26/10/2024 | Python
15/10/2024 | Python
15/11/2024 | Python
05/11/2024 | Python