Book Image

Getting Started with Streamlit for Data Science

By : Tyler Richards
Book Image

Getting Started with Streamlit for Data Science

By: Tyler Richards

Overview of this book

Streamlit shortens the development time for the creation of data-focused web applications, allowing data scientists to create web app prototypes using Python in hours instead of days. Getting Started with Streamlit for Data Science takes a hands-on approach to helping you learn the tips and tricks that will have you up and running with Streamlit in no time. You'll start with the fundamentals of Streamlit by creating a basic app and gradually build on the foundation by producing high-quality graphics with data visualization and testing machine learning models. As you advance through the chapters, you’ll walk through practical examples of both personal data projects and work-related data-focused web applications, and get to grips with more challenging topics such as using Streamlit Components, beautifying your apps, and quick deployment of your new apps. By the end of this book, you’ll be able to create dynamic web apps in Streamlit quickly and effortlessly using the power of Python.
Table of Contents (17 chapters)
Section 1: Creating Basic Streamlit Applications
Section 2: Advanced Streamlit Applications
Section 3: Streamlit Use Cases

Data manipulation in Streamlit

Streamlit runs our Python file from the top down as a script, and so we can perform data manipulation with powerful libraries such as pandas in the same way that we might in a Jupyter notebook or a regular Python script. As we've discussed before, we can do all our regular data manipulation as normal. For our Palmer's Penguins app, what if we wanted the user to be able to filter out penguins based on their gender? The following code filters our DataFrame using pandas:

import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
st.title("Palmer's Penguins")
st.markdown('Use this Streamlit app to make your own scatterplot about penguins!')
penguin_file = st.file_uploader(
    'Select Your Local Penguins CSV (default provided)')
 if penguin_file is not None:
    penguins_df = pd.read_csv(penguin_file)