How Streamlit can be used for 1. Data Visualization 2. Machine Learning Apps 3. Prototyping 4. Dashboard Creation 5. Creation of Custom Tools
Streamlit Detailed Examples
1. Data Visualization
Streamlit makes it easy to display interactive charts using libraries like Matplotlib, Plotly, or Altair.
Example with Plotly:
import streamlit as st
import plotly.express as px
import pandas as pd
# Title
st.title("Data Visualization Example")
# Sample Data
df = pd.DataFrame({
"Category": ["A", "B", "C", "D"],
"Values": [100, 200, 300, 400]
})
# Plotly Chart
fig = px.bar(df, x="Category", y="Values", title="Bar Chart Example")
st.plotly_chart(fig)2. Machine Learning Apps
Streamlit can serve machine learning models and allow users to interact with them.
Example for Sentiment Analysis:
import streamlit as st
from transformers import pipeline
# Title
st.title("Sentiment Analysis App")
# Load Model
sentiment_model = pipeline("sentiment-analysis")
# User Input
user_input = st.text_area("Enter your text:")
if st.button("Analyze"):
result = sentiment_model(user_input)
st.write("Sentiment:", result[0]['label'])
st.write("Confidence:", result[0]['score'])3. Prototyping
Quickly create interactive forms and layouts.
Example for User Registration:
import streamlit as st
st.title("User Registration Prototype")
name = st.text_input("Name")
email = st.text_input("Email")
age = st.number_input("Age", min_value=1, max_value=100)
submit = st.button("Register")
if submit:
st.write(f"Welcome {name}, Registration Successful!")4. Dashboard Creation
Combine multiple visualizations and widgets into a dashboard.
Example Sales Dashboard:
import streamlit as st
import pandas as pd
import plotly.express as px
st.title("Sales Dashboard")
# Sidebar Filters
region = st.sidebar.selectbox("Select Region", ["North", "South", "East", "West"])
year = st.sidebar.slider("Select Year", 2020, 2023, 2022)
# Sample Data
data = {
"Region": ["North", "South", "East", "West"] * 3,
"Year": [2020, 2021, 2022] * 4,
"Sales": [100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650]
}
df = pd.DataFrame(data)
filtered_df = df[(df["Region"] == region) & (df["Year"] == year)]
# Display Data
st.dataframe(filtered_df)
# Chart
fig = px.bar(filtered_df, x="Region", y="Sales", title="Sales Performance")
st.plotly_chart(fig)5. Creation of Custom Tools
Create custom internal tools to perform tasks like file conversion or data filtering.
Example CSV File Converter:
import streamlit as st
import pandas as pd
st.title("CSV to Excel Converter")
uploaded_file = st.file_uploader("Upload CSV File", type=["csv"])
if uploaded_file is not None:
df = pd.read_csv(uploaded_file)
st.dataframe(df)
if st.button("Convert to Excel"):
excel_file = "converted_file.xlsx"
df.to_excel(excel_file, index=False)
st.download_button("Download Excel File", data=open(excel_file, "rb").read(), file_name=excel_file)Conclusion
Streamlit is a versatile framework that enables quick development of interactive applications across various use cases such as Data Visualization, Machine Learning Apps, Prototyping, Dashboard Creation, and Custom Tools. With its easy syntax and wide range of built-in widgets, Streamlit makes it possible to turn Python scripts into fully functional web applications in minutes.
Comments
Post a Comment