Learning Outcomes
- Understand and utilize NumPy: Learners will be able to create and manipulate ndarrays, use aggregate functions,
access values via fancy/advanced indexing, masking, broadcasting, and vectorization
operations.
- Apply concepts: Learners will be able to apply concepts of testing, logging, timing code, and manipulating
time data, as well as forming and utilizing regular expressions
- Perform data manipulation with pandas: Learners will be able to read and write data files from JSON and csv files, perform
basic data manipulations, and apply advanced pandas concepts such as updating indices,
merging, joining, and reshaping data.
- Handle missing data: Learners will be able to identify and handle missing, corrupt, or regional data.
- Integrate numpy and pandas with matplotlib: Learners will be able to integrate numpy and pandas with matplotlib to create meaningful
visualizations for data sets, including bar graphs, pie charts, scatter plots, and
box and whisker plots.
- Utilize seaborn for data visualization: Learners will be able to create various types of plots using seaborn, including dist,
joint, bar, count, box, and violin plots.
Each course module works through two fully-worked real-world examples to reinforce
concepts and learning. These examples have universal applications across a wide range
of industries.
Module 1: Introduction to NumPy
|
- Introduction to NumPy
- Arithmetic in NumPy
- Boolean operators
|
Module 2: Advanced NumPy
|
- Broadcasting and Vectorization
- Array methods
- Array manipulations
|
Module 3: Other Python Modules
|
- Time and timeit
- Datetime and zoneinfo
- CSV
- JSON
- Regular expressions
- Logging
- Ipytest
|
Module 4: Pandas
|
- Introduction to pandas
- DataFrame navigation
- Altering and adding data to DataFrame
- Time efficiency
- Methods and integrations with numPy
- Pandas methods
|
Module 5: Advanced Pandas
|
- Grouping and aggregate functions
- Stacking and unstacking
- Pivot tables
- Connections, merges, and joins
|
Module 6: Data Munging
|
- Handling large data sets
- Handling NA values
- Handling corrupt data
- Adding, removing, and forward/ back filling
|
Module 7: Graphing and Matplotlib
|
- NumPy polynomials
- NumPy methods for graphing
- Plotting with matplotlib
- Customizations in matplotlib
|
Module 8: Seaborn
|
- Plotting with Seaborn
- Advanced plotting techniques
- Customizations in Seaborn
|
Learners who have completed WatSPEED's Python I course or have equivalent knowledge are a perfect fit for this course. Learners interested
in enrolling for WatSPEED's Data Science certificate or Python for Machine Learning can be even better prepared by taking this course.
Some other learners who should enrol are:
- Aspiring data scientists: Those looking to build a strong foundation in data manipulation and visualization,
essential for data science roles.
- Data analysts: Professionals who want to enhance their skills in handling and analyzing large datasets
using Python.
- Researchers: Individuals in academia or industry who need to process and visualize data for their
research projects.
- Software developers: Developers who want to integrate data analysis and visualization capabilities into
their applications.
- Business analysts: Professionals who need to derive insights from data to support business decisions.
- Aspiring machine learning professionals: Those preparing to transition into technical roles in machine learning who need a
solid understanding of data handling and preprocessing.
- Financial analysts: Analysts who need to manipulate and visualize financial data for reporting and analysis.
- Anyone interested in Python: Individuals with a basic understanding of Python who want to advance their skills
in data manipulation and visualization.
Learn alongside your team!
WatSPEED provides custom learning experiences tailored for large groups from any single
organization. Register three or more employees from the same organization and receive
15 per cent off. Contact our team at watspeed@uwaterloo.ca for details.
- Exclusive access to your program author—a University of Waterloo faculty expert in computer science.
- Learn at your own pace with weekly independent online learning and hands-on exercises.
- Attend a live orientation session before your course starts to get up to speed on
the curriculum.
- Optional live drop-in sessions twice weekly (time to be determined soon) via Zoom
where you can ask questions and receive instructor support on key course concepts.
- Engage directly with your classmates through online discussion boards.
- Complete multiple choice quizzes each week while achieving a 70 per cent grade to
complete the course. Receive immediate feedback on quizzes and interactive course
components.
- The course consists of texts, visuals, videos, and interactive activities.
- Up to five hours each week (including drop-in sessions, hands-on exercises, discussion
boards, and independent study).
Academic requirements
Learners are recommended to complete our Python I course or have the equivalent knowledge before starting Python 2.
System requirements
Receive a certificate from the University of Waterloo
Upon successful completion of this program, you will receive a professional education
certificate from the University of Waterloo.
Carmen Bruni
Lecturer, Cheriton School of Computer Science | Program Author and Instructor
Dr. Carmen Bruni is a faculty member at the University of Waterloo, David R. Cheriton
School of Computer Science.
Before starting at Waterloo in 2015, he obtained his PhD. in Mathematics from the
University of British Columbia. He completed his undergraduate and master’s degrees
at Waterloo in Computer Science and Pure Mathematics.
From 2015 to 2017, he worked with Waterloo’s Centre for Education in Mathematics and
Computing. Since then, he has been teaching in the School of Computer Science. Dr.
Bruni has received numerous awards for teaching excellence including a prestigious
Killam Graduate Teaching Award in 2013.
His current research interests are in mathematics, education, and pedagogy.