Python for Data Science

Learn to design and write high-performing Python code.

Enroll Now Customize for Organizations
Three students coding together

At a Glance

Open Enrollment
Eight weeks
Total CEUs:
5.2 CEUs

Upcoming Dates

July Start

Students may register up to 7 days after the course start.

Get in Touch

Learn to leverage data using Python in creative and relevant ways to solve real-world problems.

Video Url

The eight-week Python for Data Science course at the University of Chicago introduces the basic concepts of Python as a programming language. This highly technical course is project-based at its core and will present you with many practical examples before giving you the opportunity to create and run your own Python projects. Learn to leverage data using Python in creative and relevant ways to solve real-world problems.

Designed For

Designed for professionals with a rudimentary knowledge of Python and machine learning or those eager to learn about data science. Business intelligence analysts with a strong foundation in the theory of data analysis and manipulation but limited Python exposure, as well as those who work with a quantitative mind but no technical toolkit, will benefit from this course.

Python Course Learning Objectives

In a world where data is considered a commodity, data science practitioners need to have a greater understanding of the components of designing and writing Python code. Our course will provide you with a comprehensive introduction to the most popular programming language and teach you how to leverage it to solve real-world problems.

After completing the course, you will be able to: 

  • Create persisting models to be deployed as an API or used for batch scoring.
  • Design code that runs in parallel using multiprocessing and multithreading functionality.
  • Discuss advanced Python functionalities like classes and functions.

Python Curriculum

Python course format

  • Eight weeks in length.
  • Weekly, self-paced interactive learning modules and assignments are time-sensitive and should be completed by the set deadlines.
  • Synchronous sessions and live question and answer sessions.
  • Mentors to provide continuous support and encourage a dynamic and positive learning environment.

You will learn to:

  • Understand the Python language.
  • Perform advanced data analysis and manipulation.
  • Write production-level Python code.
  • Train and evaluate machine-learning models.
  • Design and optimize Python code for performance and speed.
  • Write Python code to efficiently process large data sets.
  • Prepare machine-learning models for production use.

Methodologies and techniques:

sw_python icon


sw_Jupyter icon


sw_Anaconda icon


Weekly course schedule

Learn basic Python scripting, utilizing built-in datatypes, containers, and functionality and how to use comprehensions to speed up iteration. In this module you will also discover how to integrate error handling techniques into scripts and to leverage the itertools and collections modules to manipulate iterables.

Understand how to create user-defined functions (UDFs) and utilize built-in features such as args and kwargs to enhance UDFs and use them within comprehensions. You will also learn to create lambda functions, understand what a class is, and how to develop one to perform basic linear regression, as well as using Timeit to profile functions and to find the most performant functions.

Learn to load in external data using Pandas and to manipulate data frames for adding and dropping columns and subsetting. You will also use Pandas and Numpy to calculate summary statistics and perform correlation analysis as well as to perform group by operations. Additionally, you will discover how to join and concatenate data frames using Pandas and create visualizations using Seaborn.

Explore what broadcasting is and how to use it to perform matrix and element-wise operations for efficient data manipulation. This module will also teach you to use advanced Pandas concepts to manipulate data frames, such as melt and pivot, perform window functions, and calculate rolling metrics.

Gain the skills to perform feature extraction and transformation using Sklearn and use it to train and evaluate machine-learning models.

Learn to use Generator to handle large datasets and to perform parallel modeling training using Sklearn. You will also discover how to run programs in parallel using the multiprocessing module.

Understand how to use Urllib and requests to ping websites, how to use BeautifulSoup to parse html data, as well as how to use a threadpoolexecutor to scrape in parallel.

Learn to save and reload trained models and discover how to make batch predictions. You will also be taught how to deploy a model as an API and to monitor models in production.

Meet Your Instructors

Josh Goldberg, Data Analytics for Business Professionals Instructor

Josh Goldberg, MS

Data Scientist, Amazon

Joshua Goldberg is a data scientist with eight years of industry experience. He currently works at Amazon as a data scientist, building machine learning models to support Amazon’s supply chain operations in Private Brands. Previously, he worked at Nuveen Investments, focusing on personalization for...

Learn more about Joshua

Patrick McQuillan, UChicago instructor

Patrick McQuillan, MBA

Founder and Subject Matter Expert, Jericho Consulting

Patrick McQuillan is passionate about data as a tool for change and decision-making. He has held leadership roles, most recently as the Global Head of Data Governance and Operational Effectiveness at Wayfair. Previously, he led international consulting teams to drive AI strategy and technology...

Learn more about Patrick

Career Outlook

$ 95 k

The average annual base pay for a Python developer in the United States.

# 1

Python’s rank among programming languages that developers want to learn.

22 %

The projected employment growth for Python users from 2019 to 2029.

Potential job titles for Python developers

  • Entry-Level Software Developer
  • GIS Analyst
  • Junior Python Developer
  • Machine Learning Engineer
  • Python Full-Stack Developer
  • Quality Assurance Engineer
  • Senior Python Developer

Offered by The University of Chicago's Professional Education