
Learn to build data science applications with streamlit, visualize data with matplotlib, seaborn, and altair, and deploy interactive apps via streamlit sharing and heroku.
Discover how to build and share data applications quickly with a Python-based tool, adding interactivity with sliders and inputs, and deploying with one click on a sharing platform.
Enter the Python-focused section and learn about Pavlin. Skip ahead if you’re familiar with Python, since the course centers on Python.
Download and install Anaconda from the official site to streamline data science workflows with preinstalled packages. Choose the correct Windows, Mac, or Linux version and consult the attached Linux instructions.
Explore the data science process from problem definition to data collection, data cleaning, exploration and visualization, model building, and prediction, using Jupiter notebook and tools like Dask, Matplotlib, and Seaborn.
Explore basic Python operations, variables, and comments in a Jupyter notebook, including arithmetic, printing, case sensitivity, and how to add comments to document code.
Explore Python data types by naming variables, running notebook cells, and using type to identify strings, integers, and floats, with practical tips for avoiding capitalization errors.
Explore lists and indexing in Python, using square brackets, zero-based indices, slicing, and negative indexing to access and modify items for data tasks in Streamlit projects.
Discover how negative indexing retrieves list items from negative positions to the end, using -1, -2, and -3 to select and print elements.
Discover how Python dictionaries map keys to values, create and modify entries, and retrieve data by keys with practical examples of dictionary mutability and printing results.
Demonstrate Python tuples, define with brackets, print by index and slice ranges with end-exclusive behavior, and show immutability by denying item assignment, highlighting differences from lists and dictionaries.
Explore Python sets, distinguish them from lists and dictionaries, and learn to add items, copy sets, remove elements, and clear contents while noting that sets are unordered and non-indexable.
Explore how booleans work in Python, including true and false values, the boolean type, and comparison operators like ==, >, <, >=, and <=, plus the distinction from assignment.
Learn how conditional statements drive actions in python with if, elif, and else, print outcomes based on comparisons, and recognize indentation rules to avoid indentation errors.
Define and use Python functions with the def keyword, pass a parameter x, and compare numbers with if statements to print whether x is greater or less than two.
Run Python for loops to print each name from a list and to access dictionary keys and values. Learn proper indentation and using the format function to display pairs.
Learn how a Python while loop runs as long as a condition holds, printing 1 to 5 and stopping at 6, with a warning about infinite loops.
Explore how to use the Python map function to apply a function to an iterable, such as incrementing each number by one, with implications for data analysis.
Explore how the Python range function generates numbers, printing zero through nine with range(0,10) where end is exclusive, and how range(start, end, step) can increment by two.
Explore Python list and dictionary operations through the PAVONY exercise, covering integer division, slicing, indexing, appends, pops, membership checks, and a dictionary of movies with actors. Demonstrates practical code patterns.
Explore Python package management and learn how to install and manage packages essential for completing this data science course.
Manage Python packages and modules with pip, search and install from PyPI, and track dependencies with a requirements.txt file. Create and activate virtual environments to keep dependencies separate.
Learn practical pip and virtual environment workflows: install and activate a virtual environment, install the emoji package, print emoji, and manage a requirements file with pip freeze.
Install packages in Anaconda Navigator by updating the index, selecting environments, and applying the package with its dependencies. Confirm installation by revisiting the install page and locating the new package.
Explore numpy's fast, memory-efficient numerical arrays, created with np.array and np.arange; inspect dtype and shape, and use unique, sort, and reverse to manipulate data.
Learn to create and join numpy arrays for data science applications, using zeros, ones, identity, and linspace, then generate random and integer values with numpy and handle nan values.
Access NumPy function documentation directly in Jupiter using help or a trailing question mark to generate and view the function details.
Discover one dimensional indexing and range-based selection in arrays using zero-based indices. Learn how upper bounds are excluded and how to slice from a start index to the end.
Explore indexing a two-dimensional array by reshaping a one-dimensional matrix into a 4 by 4 grid and selecting subarrays with row and column rules.
Learn how broadcasting in NumPy enables vectorized assignment by selecting elements by index. See how a slice is replaced with new values, as shown with 50,60,70 becoming 20,40,90.
Explore numpy matrix operations on a 4x4 matrix—shape, max/min and their positions, sqrt, transpose, flatten, and ravel—with a second 4x4 matrix for addition, multiplication, and division.
Practice a numpy exercise by filling blanks to display the mean in a matrix, create a new cell, and avoid viewing project solutions first.
Explore NumPy solutions by building a four by four area code matrix from 33 to 48, then extract max and min values and apply modulo operations.
Understand why we use pandas to prepare data for visualizations, then manipulate data with visualization libraries to achieve various charts, with the option to skip if already familiar.
Explore pandas, a Python package for data analysis, focusing on series, creating a series with data and index, indexing by position or label, and arithmetic.
Create a pandas dataframe from a dictionary, view the first and last records with head and tail, and describe the data to get counts and means.
Learn how to reset a dataframe's index with reset_index to generate a new sequential index that replaces the old one. Use inplace=True to apply changes to the original dataframe.
Learn to drop a column from a data frame using df.drop, and apply inplace to modify the original data frame, ensuring the index column no longer appears.
Identify and handle null values in a data frame by checking with df.isnull().any(), then replace missing age values with the median (52) using inplace to update.
Learn how to create new columns in pandas by selecting an existing column; pandas automatically adds the new column to the data frame, expanding the columns.
Use df.iloc[0] to select the first row and columns by name, then filter rows with age > 20 and name == 'can', combining conditions with and/or.
Explore grouping data in pandas with groupby, compute mean, sort values from largest, reset index, rename columns, and inspect unique values and counts.
Demonstrate exporting pandas data frames to csv and Excel, showing how to name the file and whether to include the index, with default index behavior and examples of exported files.
Use pandas in a notebook to load data by using read_csv for csv files and read_excel for Excel files, then inspect the dataset.
Create a pivot table from a data frame using the fun values and names as columns, and explore mean, median, and count aggregations.
Complete the Pandas project using the Khiva datasets in the Pandas folder, review the data on Kogoro, and collaborate to understand Kiva and work through the project and solutions.
Modify the data frame in place to update region data and reveal unknown regions using bracket-based indexing.
Define a function to extract the year from a date column using pandas' date time index, then create a new year column by applying the function to the date.
Create a month column from the date column using the pandas date time index and month name function, then add a day column from the date for the day name.
Use the unique function to list 87 country names, then group by sector to count occurrences and create a sectors data frame with a count, sorted ascending.
Filter a data frame to include United States data by selecting rows where the country equals United States, then create a pivot table that sums loan amounts by sector.
Merge the DMS and ADF data frames on the idee column to create a merged data frame, then display theme columns and count unique idee values by group.
Explore how to integrate Matplotlib in Streamlit for data science applications and streamline the visualization workflow.
Learn to build and share data applications quickly with Streamlit using Python scripting, add interactivity with sliders, and deploy easily to Heroku or the Streamlit sharing platform.
Explore a matplotlib application prototype with loading balloons, the attached TED talks dataset, and visualizations including a horizontal bar plot and a pie chart using subplots.
Set up the development environment by creating and activating a virtual environment named venv, installing requirements.txt, and opening the project in Visual Studio Code for Streamlit data science work.
Build a streamlit app to load a TED talks dataset with pandas, cache the data, and display the data frame as a table or balloons via a sidebar navigation.
Build a top-20 bar plot of event views from a TED dataset using matplotlib in a streamlit page, with sorting, axes labels, and a title.
Create a horizontal bar plot in a multi-page streamlit app by defining a reusable horizontal bar function and duplicating pages with a drop-down.
Discover how to integrate an Instagram dataset option and render a languages histogram in Streamlit, adjusting figure size, color, bins, title, and axis labels.
Learn to build a pie chart in streamlit by grouping the published day and views, summing the views, sorting by most views, and applying explode, shadow, and percentage labels.
Create four subplots in matplotlib within a streamlit app: views by published day pie chart, published month bar chart, an event and views plot, and views by year line plot.
Explore how to create two plots by using figure and axes instead of subplots, define a figure and axes, and assign plots to specific axes for a two-panel visualization.
Create four subplots with fig and axes in a 2x2 grid, mapping to x zero zero, x zero one, x one zero, x one one, with titles and rotated ticks.
Explore how to integrate Seaborn and Matplotlib to enhance data visualization in data science applications with Streamlit.
Master Seaborn visualizations built on Matplotlib to explore the donor's choose dataset of teacher applications and learn what each column represents for data storytelling.
Explore visualizations, including a white cloud to visualize the project summary and categories, and build other plots like the current plot and the bomb plot, with seaborn subplots using axes.
Build a streamlit app that renders a seaborn count plot of teacher prefixes and donor approval status, loading data and styling with matplotlib and seaborn via a sidebar.
Learn to build violin and strip plots in a Streamlit app, switch between them with a dropdown, subset data by state, customize with color palettes, titles, and axis order.
Build practical data visualizations in streamlit by creating vertical and horizontal bar plots of top 15 school states by the number of previously posted projects, using grouping and bar plotting.
Demonstrates creating a Seaborn line plot of project submissions over time, including data grouping by submitted date, summing projects, and converting to datetime for rendering.
Explore plotting with figure and axes by creating subplots, configuring the x and axis references, and displaying two graphs in a grid, preparing for the next section.
Install and import the word cloud, build a corpus from project summaries, remove stop words, and render a word cloud to reveal the most frequent category terms.
Configure a Streamlit app by creating an extras folder, loading a logo, icon, video, and audio, and setting the page title, page icon, layout, and sidebar state.
Demonstrate a drag-and-drop csv file upload in streamlit, validate file type, display a progress bar, read with pandas, and save the data frame.
Analyzing data and building machine learning models is one thing. Packaging these analyses and models such that they are sharable is a different ball game altogether.
This course aims at teaching you the fastest and easiest way to build and share data applications using Streamlit. You don't need any experience in building front-end applications for this. Here are some of the things you can expect to cover in this course:
Python Crash Course
NumPy Crash Course
Introduction to Streamlit
Integrating Matplotlit and Seaborn in Streamlit
Using Altair and Vega-Lite in Streamlit
Understand all Streamlit Widgets
Upload and Process Files
Build an Image Processing Application
Develop a Natural Language Processing Application
Integrate Maps with Streamlit
Implement Plotly Graphs
Authenticate Your Applications
Laying Out your Application in Streamlit
Developing with Streamlit Components
Deploying Data Applications
Why Streamlit
There are several other libraries that can be used for building data applications. That said, why should you consider Streamlit:
No front-end experienced required
Write everything in what you already know — Python
Easy to weave in interaction with widgets such as sliders
Quick and easy to deploy
Compatible with most data science frameworks
No front-end experienced required
If you were to build a data app with Flask and or Django, then knowledge in front-end tools such as HTML & CSS as well as Javascript is a must. However, in Streamlit, all this is done using Streamlit widgets. For example, a drop-down can easily be achieved using the selectbox widget. Other HTML tags such as input boxes and buttons are also achieved using simple Streamlit widgets.
Python Scripting
When building data applications in Streamlit, you never leave your Python editor. This is because is scripted in Python. It is, therefore, very advantageous since you keep working in a language that you are already familiar with. If this was done in other Python frameworks, then writing HTML, CSS, and Javascript code would be unavoidable.
Interactivity
Adding interaction to Streamlit applications is very simple. Streamlit provides widgets that one can use to weave interactivity to your application. For example, one can use the date input widget to filter their data. Select boxes and sliders can also be used to achieve the same.
Deployment
Sharing Streamlit applications is very easy. One can easily deploy to the likes of Heroku and AWS. However, one can also deploy their app on Streamlit Sharing by the click of just two buttons. All you have to do is to request access. Your Github email address will then be linked to Streamlit Sharing. Once this is done, you can deploy any Streamlit project available on your Github account.
Compatibility
Streamlit is compatible with the most popular data science libraries. For example, you can perform visualizations in Streamlit with the tools that you are already used to. The visualizations libraries supported include:
Matplotlib
Seaborn
Altair
Plotly
Bokeh
You definitely need to perform data cleaning and wrangling before visualizing your results. Pandas and NumPy are supported so that you can achieve this.
When it comes to machine learning, you can deploy models built with the popular libraries that you are already used to. This is because Keras, TensorFlow, and PyTorch are supported out-of-the-box.
Streamlit Components
In the event that you need a functionality that is not supported by Streamlit the first place to look is the Streanmlit Components page. Streamlit Components are third-party functionalities that have been built by the community. The components can be installed via pip and used immediately in your project.
Streamlit Components
The beauty of it is that you can also write your own components and share them with the community.
At the end of the course, you will have built several applications that you can include in your data science portfolio. You will also have a new skill to add to your resume.
The course also comes with a 30-day money-back guarantee. Enroll now and if you don't like it you will get your money back no questions asked.