## Path overview

In this path, you’ll learn the fundamentals of Python, as well as how to prepare and extract data by querying databases with SQL, how to create insightful data visualization, and how to perform descriptive and predictive statistical analysis.

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
- Performing efficient data analysis from start to finish
- Building insightful data visualizations to tell stories

## Path outline

###
**Part 1: ** Introduction to Python [4 courses]

### Introduction to Python Programming 3h

Objectives- 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

Objectives- 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

Objectives- 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

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

###
**Part 2: ** Intermediate Python and Pandas [3 courses]

### Introduction to Pandas and NumPy for Data Analysis 13h

Objectives- 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

Objectives- 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

Objectives- 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 in Python [3 courses]

### Data Cleaning and Analysis in Python 11h

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

### Advanced Data Cleaning in Python 9h

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

### Data Cleaning Project Walkthrough 7h

Objectives- 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

Objectives- 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

Objectives- 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

Objectives- 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

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

### Combining Tables in SQL Course 3h

Objectives- 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

Objectives- 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

Objectives- 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

Objectives- 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

Objectives- Query external data sources using an API
- Scrape data from the web

### Data Analysis for Business in Python 6h

Objectives- 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

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

### Intermediate Statistics in Python 8h

Objectives- 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

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

### Introduction to Conditional Probability in Python 6h

Objectives- 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

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

###
**Part 8: ** Advanced Topics in Data Analysis [2 courses]

### Intermediate Command Line for Data Science 3h

Objectives- Employ Jupyter console
- Process data from the command line

### Introduction to Git and Version Control 4h

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

## 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

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

### Build your project portfolio

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

### Challenge yourself with exercises

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

### 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.