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

Streamlit's built-in graphing functions

There are three built-in functions for graphing – st.line_chart(), st.bar_chart(), and st.area_chart(). They all work similarly by trying to figure out what variables you're already trying to graph, and then put them into a line, bar, or area chart, respectively. In our dataset, we have a variable called dbh, which is the width of the tree at chest height. First, we can group our DataFrame by dbh, and then push that directly to the line chart, bar chart, and area chart. The following code should group our dataset by width, count the unique trees of each width, and then make a line, bar, and area chart of each:

import streamlit as st
import pandas as pd
st.title('SF Trees')
 st.write('This app analyses trees in San Francisco using'
         ' a dataset kindly provided by SF DPW')
 trees_df = pd.read_csv('trees.csv')
 df_dbh_grouped = pd.DataFrame(trees_df.groupby(...