This course will set you on a path towards becoming an expert in Python programming with a specific focus on financial use cases. You can jump to any of the course lessons below:
- A Review From Introduction to Python
- How To Import External Libraries in Python
- Introduction to NumPy
- NumPy Arrays
- Practice Problems: NumPy Arrays
- NumPy Methods and Operations
- Practice Problems: NumPy Methods and Operations
- NumPy Indexing and Assignment
- Practice Problems: NumPy Indexing and Assignment
- Introduction to Pandas
- Pandas Series
- Practice Problems: Pandas Series
- Pandas DataFrames
- Practice Problems: Pandas DataFrames
- How To Deal With Missing Data in Pandas
- Practice Problems: How To Deal With Missing Data in Pandas
- How To Use Pandas DataFrames' Groupby Method
- Practice Problems: How To Use Pandas DataFrames' Groupby Method
- How To Concatenate DataFrames in Pandas
- Practice Problems: How To Concatenate DataFrames in Pandas
- How To Merge DataFrame in Pandas
- Practice Problems: How To Merge DataFrames in Pandas
- How To Join DataFrames in Pandas
- Practice Problems: How To Join DataFrames in Pandas
- Common Operations in Pandas
- Practice Problems: Common Operations in Pandas
- Local Data Input and Output in Pandas
- Remote Data Input in Pandas
Additional details about the instructor and this course are listed below.
I want this course to be a personal experience. Because of that, I have created a Slack community for students to ask questions and interact with each other!
For those unfamiliar, Slack is a team messaging platform primarily used by businesses. Think MSN Messenger, but 10x better. I've used Slack in various capacities over the years and have always been pleased with my experience.
All of the code for this course's practice problems can be found in this GitHub repository.
There are two options that you can use to complete the practice problems:
- Open them in your browser with a platform called Binder using this link (recommended)
- Download the repository to your local computer and open them in a Jupyter Notebook using Anaconda (a bit more tedious)
Note that Binder can take up to a minute to load the repository, so please be patient.
Within that repository, there is a folder called
starter-files and a folder called
finished-files. You should open the appropriate practice problems within the
starter-files folder and only consult the corresponding file in the
finished-files folder if you get stuck.
The repository is public, which means that you can suggest changes using a pull request later in this course if you’d like.
If you're working through this course and are stuck on a difficult problem, here's what you should do:
- Google for a solution: This is not just me being lazy! Real-world software developers often have to Google for solutions to their problems, so getting practice at this from the start is very beneficial.
- Ask a question in the Slack community: Other students further into this course will be more than willing to help you.
- Email me: You can use this link to email me. While I always love hearing from students, please exhaust the other two options first since I might not reply right away.
My name is Nick McCullum and I have worked in quantitative finance and computer programming for my entire career. I'm currently working as the President of Sure Dividend, where I built our technology stack from scratch, including:
- Python scripts deployed on AWS EC2 and AWS Lambda
- a PostgreSQL relational database on AWS RDS
- a client-facing Wordpress site featuring a members-only login area