“They are like the real thing. Dataquest shows you exactly what you need to learn and then helps you apply it.”

Eddie Kirkland

Principal Data Scientist @ICF

Path overview

In this path, you’ll learn how to master mandatory data scientist technical skills, including object-oriented and functional programming with Python, libraries like scikit-learn, Matplotlib, NumPy, and pandas. You’ll also master web scraping and SQL queries, deep learning and machine learning, and predictive analysis. To help you stand out from other candidates, we included concepts such as the UNIX command line, Git, and GitHub to develop efficient collaboration.

Best of all, you’ll learn by doing — you’ll write code and get feedback directly in the browser. You’ll apply your skills to several guided projects involving realistic business scenarios to build your portfolio and prepare for your next interview.

Key skills

  • Programming with Python to perform complex statistical analysis of large datasets
  • Performing SQL queries and web-scraping to explore and extract data from databases and websites
  • Building insightful data visualizations to tell stories
  • Automating machine learning algorithms and build predictive modeling processes

Path outline

Part 1: Python Introduction [4 courses]

Introduction to Python Programming 3h

  • Write computer programs using Python
  • Save values using variables
  • Process numerical data and text data
  • Create lists using Python

Basic Operators and Data Structures in Python 5h

  • Use for loops to repeat processes and conduct data analysis
  • Implement if, else, and elif statements in programming logic
  • Employ logical and comparison operators in Python
  • Develop and update Python dictionaries for data manipulation
  • Construct frequency tables using dictionaries for data analytics

Python Functions and Jupyter Notebook 5h

  • Write Python functions
  • Debug functions
  • Define function arguments
  • Write functions that return multiple variables
  • Employ Jupyter notebook
  • Build a portfolio project

Intermediate Python for Data Science 8h

  • Clean and analyze text data
  • Define object-oriented programming in Python
  • Process dates and times

Part 2: Data Analysis and Visualization [3 courses]

Introduction to Pandas and NumPy for Data Analysis 13h

  • Improve your workflow using vectorized operations
  • Select data by value using Boolean indexing
  • Analyze data using pandas and NumPy

Introduction to Data Visualization in Python 8h

  • Visualize time series data with line plots
  • Define correlations and visualize them with scatter plots
  • Visualize frequency distributions with bar plots and histograms
  • Improve your exploratory data visualization workflow using pandas
  • Visualize multiple variables using Seaborn's relational plots

Telling Stories Using Data Visualization and Information Design 5h

  • Create graphs using information design principles
  • Create narrative data visualizations using Matplotlib
  • Create visual patterns using Gestalt principles
  • Control attention using pre-attentive attributes
  • Employ Matplotlib's built-in styles

Part 3: Data Cleaning [3 courses]

Data Cleaning and Analysis in Python 11h

  • Employ data aggregation techniques
  • Combine datasets
  • Transform and reshape data
  • Clean strings and resolve missing data

Advanced Data Cleaning in Python 9h

  • Clean and manipulate text data using regular expressions
  • Employ lambda functions and list comprehension with pandas
  • Resolve missing data

Data Cleaning Project Walkthrough 7h

  • Complete a data cleaning project from start to finish
  • Improve your data cleaning skills

Part 4: The Command Line [2 courses]

Command Line for Data Science 4h

  • Employ the command line for data science
  • Define important command line concepts
  • Modify the behavior of commands with options
  • Navigate the filesystem
  • Employ glob patterns and wildcards
  • Manage users and permissions

Text Processing for Data Science 4h

  • Read and explore documentation
  • Inspect files
  • Perform basic text processing
  • Define different kinds of output
  • Redirect and pipe output
  • Employ streams and file descriptors

Part 5: Working with Data Sources Using SQL [6 courses]

Introduction to SQL and Databases 5h

  • Define the structure of SQL
  • Create basic queries to extract data from tables in a database
  • Define databases
  • Identify different versions of SQL
  • Write good SQL code

Summarizing Data in SQL 3h

  • Employ SQL to compute statistics
  • Provide statistics by group
  • Filter results over groups

Combining Tables in SQL Course 3h

  • Combine tables using inner joins
  • Employ different types of joins
  • Employ other SQL clauses with joins
  • Join on complex conditions
  • Employ set operators like UNION and EXCEPT

Querying Databases with SQL and Python 2h

  • Connect to a SQLite database using Python
  • Query a SQLite database using Python
  • Convert data from a SQLite database to a Pandas dataframe

SQL Subqueries 6h

  • Nest a query inside another query
  • Employ different types of subqueries
  • Employ common table expressions
  • Scale your project with complex queries

Window Functions in SQL 5h

  • Set up a frame for window functions
  • Compute running aggregations with aggregate window functions
  • Explore rank window functions
  • Apply distribution window functions
  • Use offset window functions

Part 6: APIs and Web Scraping in Python [2 courses]

Introduction to APIs and Web Scraping in Python 4h

  • Query external data sources using an API
  • Scrape data from the web

Data Analysis for Business in Python 6h

  • Resolve fuzzy language
  • Identify the business context of data science
  • Communicate with a non-technical audience
  • Define metrics

Part 7: Probability and Statistics [5 courses]

Introduction to Statistics in Python 9h

  • Sample data using simple random sampling, stratified sampling, and cluster sampling
  • Measure variables in statistics
  • Create frequency distribution tables

Intermediate Statistics in Python 8h

  • Summarize a distribution using the mean, the weighted mean, the median, or the mode
  • Measure the variability of a distribution using the variance and the standard deviation
  • Compare values using z-scores

Introduction to Probability in Python 4h

  • Estimate theoretical and empirical probabilities
  • Employ the fundamental rules of probability
  • Employ combinations and permutations

Introduction to Conditional Probability in Python 6h

  • Assign probabilities based on conditions
  • Assign probabilities based on event independence
  • Assign probabilities based on prior knowledge
  • Create spam filters using multinomial Naive Bayes

Hypothesis Testing in Python 4h

  • Perform a permutation test
  • Perform significance testing to understand an outcome's importance
  • Define regular and multi-category chi-squared tests

Part 8: Machine Learning In Python [9 courses]

Introduction to Supervised Machine Learning in Python 8h

  • Establish a machine learning workflow
  • Implement the K-Nearest Neighbors algorithm for a classification task from scratch using Pandas
  • Implement the K-Nearest Neighbors algorithm using scikit-learn
  • Evaluate a machine learning model
  • Find optimal hyperparameter values using grid search

Introduction to Unsupervised Machine Learning in Python 5h

  • Identify applications of unsupervised machine learning
  • Implement a basic k-means algorithm
  • Evaluate and optimize the performance of a k-means model
  • Visualize the model
  • Build a k-means model using scikit-learn

Calculus For Machine Learning 2h

  • Define mathematical functions using calculus
  • Employ intermediate machine learning techniques

Linear Algebra For Machine Learning 3h

  • Define linear systems using linear algebra
  • Employ intermediate machine learning techniques

Linear Regression Modeling in Python 4h

  • Describe a linear regression model
  • Construct a linear regression model and evaluate it based on the data
  • Interpret the results of a linear regression model
  • Use a linear regression model for inference and prediction

Gradient Descent Modeling in Python 3h

  • Code a basic Gradient Descent algorithm
  • Recognize the limitations of basic Gradient Descent
  • Contrast the basic Batch and Stochastic Gradient Descent uses
  • Visualize Stochastic Gradient Descent using Matplotlib
  • Apply Stochastic Gradient Descent in Python using Scikit Learn

Logistic Regression Modeling in Python 3h

  • Describe a logistic regression model
  • Construct a logistic regression model and evaluate it based on the data
  • Interpret the results of a logistic regression model
  • Use a logistic regression model for inference and prediction

Decision Tree and Random Forest Modeling in Python 6h

  • Create, customize, and visualize decision trees
  • Use and interpret decision trees on new data
  • Calculate optimal decision paths
  • Optimize trees by altering their parameters
  • Apply the random forest prediction technique

Optimizing Machine Learning Models in Python 4h

  • Distinguish between different optimization techniques
  • Identify the best optimization approach for your project
  • Apply optimization methods to improve your model
  • Employ machine learning tools on various optimization methods

Part 9: Deep Learning in Python [1 course]

Introduction to Deep Learning in TensorFlow 12h

  • Explain the major concepts and terminology used in deep learning
  • Perform data preprocessing and exploratory analysis to prepare data for modeling
  • Build and evaluate deep learning regression models using TensorFlow’s Sequential and Functional APIs in Keras
  • Build a deep neural network to predict listing gains of IPOs on the Indian market

Part 10: Advanced Topics in Data Science [3 courses]

Intermediate Command Line for Data Science 3h

  • Employ Jupyter console
  • Process data from the command line

Introduction to Git and Version Control 4h

  • Organize your code using version control
  • Employ Git and GitHub to collaborate with others
  • Resolve conflicts in version control

Analyzing Large Datasets in Spark and Map-Reduce 3h

  • Identify the map-reduce framework for breaking down tasks
  • Employ Spark to process raw files
  • Process structured datasets using Spark SQL and Spark DataFrames

The Dataquest guarantee


Dataquest has helped thousands of people start new careers in data. If you put in the work and follow our path, you’ll master data skills and grow your career.


We believe so strongly in our paths that we offer a full satisfaction guarantee. If you complete a career path on Dataquest and aren’t satisfied with your outcome, we’ll give you a refund.

Master skills faster with Dataquest

Go from zero to job-ready

Go from zero to job-ready

Learn exactly what you need to achieve your goal. Don’t waste time on unrelated lessons.

Build your project portfolio

Build your project portfolio

Build confidence with our in-depth projects, and show off your data skills.

Challenge yourself with exercises

Challenge yourself with exercises

Work with real data from day one with interactive lessons and hands-on exercises.

Showcase your path certification

Showcase your path certification

Impress employers by completing a capstone project and certifying it with an expert review.

Projects in this path

Project: Learn and Install Jupyter Notebook

Learn the basics of Jupyter Notebook

Guided Project: Profitable App Profiles for the App Store and Google Play Markets

Learn to combine the skills you learned in this course to perform practical data analysis.

Guided Project: Exploring Hacker News Posts

Practice using loops, cleaning strings, and working with dates in Python.

Guided Project: Exploring eBay Car Sales Data

Practice data cleaning and data exploration using pandas

Guided Project: Finding Heavy Traffic Indicators on I-94

Learn to analyze data using exploratory data visualization.

Plus 21 more projects

Build your project portfolio with the Data Analyst in Python path.

Grow your career with

of learners recommend
Dataquest for career advancement
Dataquest rating on
G2Crowd and SwitchUp
Average salary boost
for learners who complete a path

Aaron Melton

Business Analyst at Aditi Consulting

“Dataquest starts at the most basic level, so a beginner can understand the concepts. I tried learning to code before, using Codecademy and Coursera. I struggled because I had no background in coding, and I was spending a lot of time Googling. Dataquest helped me actually learn.”


Jessica Ko

Machine Learning Engineer at Twitter

“I liked the interactive environment on Dataquest. The material was clear and well organized. I spent more time practicing then watching videos and it made me want to keep learning.”


Victoria E. Guzik

Associate Data Scientist at Callisto Media

“I really love learning on Dataquest. I looked into a couple of other options and I found that they were much too handhold-y and fill in the blank relative to Dataquest’s method. The projects on Dataquest were key to getting my job. I doubled my income!”

Join 1M+ data learners on


Sign up for a free account


Choose a course or path


Learn with hands-on exercises


Apply your skills

Start learning with a free account today.