Course Information
Course Overview
Immerse yourself in a long, comprehensive project that teaches advanced Python concepts to build an entire library
Build a Data a Data Analysis Library from Scratch in Python targets those that have a desire to immerse themselves in a single, long, and comprehensive project that covers several advanced Python concepts. By the end of the project you will have built a fully-functioning Python library that is able to complete many common data analysis tasks. The library will be titled Pandas Cub and have similar functionality to the popular pandas library.
This course focuses on developing software within the massive ecosystem of tools available in Python. There are 40 detailed steps that you must complete in order to finish the project. During each step, you will be tasked with writing some code that adds functionality to the library. In order to complete each step, you must pass the unit-tests that have already been written. Once you pass all the unit tests, the project is complete. The nearly 100 unit tests give you immediate feedback on whether or not your code completes the steps correctly.
There are many important concepts that you will learn while building Pandas Cub.
Creating a development environment with conda
Using test-driven development to ensure code quality
Using the Python data model to allow your objects to work seamlessly with builtin Python functions and operators
Build a DataFrame class with the following functionality:
Select subsets of data with the brackets operator
Aggregation methods - sum, min, max, mean, median, etc...
Non-aggregation methods such as isna, unique, rename, drop
Group by one or two columns to create pivot tables
Specific methods for handling string columns
Read in data from a comma-separated value file
A nicely formatted display of the DataFrame in the notebook
It is my experience that many people will learn just enough of a programming language like Python to complete basic tasks, but will not possess the skills to complete larger projects or build entire libraries. This course intends to provide a means for students looking for a challenging and exciting project that will take serious effort and a long time to complete.
This course is taught by expert instructor Ted Petrou, author of Pandas Cookbook, Master Data Analysis with Python, and Master the Fundamentals of Python.
Course Content
- 10 section(s)
- 57 lecture(s)
- Section 1 Project Genesis
- Section 2 Environment Setup
- Section 3 Getting Ready to Code
- Section 4 DataFrame Construction
- Section 5 Basic Properties and Visual Representation
- Section 6 Subset Selection
- Section 7 Basic Methods
- Section 8 Value Counts
- Section 9 Other Methods and Operators
- Section 10 Pivot Tables
What You’ll Learn
- Build a fully-functioning Python library similar to pandas that you can use to do data analysis
- Complete a large, comprehensive project
- Test-driven development with pytest
- Environment creation with conda
- Advanced Python topics such as special methods and property decorators
Skills covered in this course
Reviews
-
DDavid Schlessinger
This is a really good course. I commend Ted for making users rewrite a lot of the Pandas functions in such a way that it provides a new perspective for how certain commands work, which can be very useful for learning. Like others before me, I agree that the best way to do this course is to first try to write each function on your own, see if it works, and then see how Ted did it. Some of the code can get pretty abstract at times, so I would not recommend this course to new users of Python. My only critique of this course is that I wish this course had spent more time teaching how to set up unit tests with PyTest, as well as how to import/use your new data analysis library into new code.
-
AAmit Meel
One of the best thing about this course is that it is project oriented and it's plan is written in REAME file so before every video starts, it's encouraged to implement your own solution and then run the test cases for that solution. In this course we have to implement lots of magic methods and common functionalities of pandas library and this way we can grasp many concepts easily. One part where beginner can lost is that this course assumes you know some of the advanced python concept like what is a decorator, what is a property (how getter and setter works). once we have developed initial library , it would have been better if the author can add some videos about how can someone package this library and add it to pip using some automated ways where every push to any branch can run the test cases and push to master automatically deploy this to pip (using ci/cd).
-
JJuan Daniel Nogues Roig
The course details the steps to implement functions in a very structured way. This approach to coding functionality renders very readable code. There are also several special functions worth keeping in mind.
-
AAdam McCarthy
I worked through the entire project without the videos. It took me about a week of work, but it was one of the most rewarding programming experiences I've had since I started learning python. I hope that more project based courses like this will be available in the future. I also learned a ton about pandas and numpy in the process. Thanks Ted!!