How I finished FreeCodeCamp Data Analysis Python Projects in 2 days
By: Edoardo Romani
Tags: Python, Freecodecamp, Data Analytics, Programming, Projects

(Notes: All opinions are my own)

Introduction

Sharpening your Python programming skills is always useful for those of you working in Data Analytics & Data Science, and continuous learning is required in an-ever growing space dominated by ever-expanding use cases and fluid and open-source programming languages.

To that end, those of you more into actual coding than sitting through many minutes of video-lessons should find building projects challenging and entertaining, and the best way to get stuck and learn new concepts on the way.

In this article, I will give an overview of what to expect if you decide to build the projects contained in the “Data Analysis with Python” section of the curriculum, which I have recently completed. The certification is fully project-based, and the lectures are totally optional.

This article will solely focus on the final projects, which I decided to test myself with in my after-hours.

Author’s Certificate

Disclaimer: the estimated course duration is 400 hours (lectures + projects); I have ~3 years of working with Python as a Data Analyst, and while I solely focused on the projects to complete the certification, I have certainly invested upwards of 400 hours in my Python programming journey. If you are just starting out, I definitely recommend going through the FreeCodeCamp lectures and putting the estimated time in, as in the long run it will benefit you way more than merely obtaining the certificate.

Recommended resources are:

The Projects

The focus of the challenges(to be honest, they are more self-contained than fully fledged projects, and thus the name “challenge” feels more appropriate here) is more around building self-contained pieces of functionality (i.e. Python functions that analyze data and return either a numerical or visual output) rather than building a massive workflow. In this regard, the setup is not too dissimilar from that of classic coding challenges, although these are probably a bit longer.

Each challenge is tested against various unit tests which challenge your code under different conditions.

This is not massively different from the work a Python data analyst will find himself/herself doing once on a project, where you will be potentially tasked to explore the data and answer several questions connected to the business problem at hand.

The packages you will be using will be mostly numpy and/or pandas for data manipulation and matplotlib and/or seaborn for data visualization.

1. Mean-Variance-Standard Deviation Calculator

Matrix icon designed by Vitaly Gorbachev

Goal: “Create a function named calculate() that uses Numpy to output the mean, variance, standard deviation, max, min, and sum of the rows, columns, and elements in a 3 x 3 matrix.”

Considerations: this felt like the easiest challenge in terms of time, but it is definitely important as it touches some of the key building blocks and concepts of the numpy package, which are of fundamental importance for many complex computations in the data science realm, where you will be working with matrix and array-type data a lot and will need to reshape it and mold it constantly during the data processing pipeline.

Approach: discover and leverage numpy’s built in functions

Key concepts: data reshape, axis targeting, numpy arrays

2. Demographic Data Analyzer

Source: Author

Goal: “Use Pandas to answer various questions about a Census-based dataset”

Considerations: This is a classic data analysis challenge where you are given a dataset and need to answer various questions as you explore it. To do so, you will make the most of Pandas’ data manipulation methods, and learn new ones along the way.

Approach: Convert the general questions into Pandas methods; chain them together to get to the final answer

Key concepts: Categorical frequency counts and distributions, grouping and reshaping data, filtering and sorting, KPI calculation

3. Medical Data Visualizer

Source: Author

Goal: “Visualize and make calculations from medical examination data using matplotlib, seaborn, and pandas”

Considerations: This is a classic data visualization challenge where you are given a medical dataset and need to plot categorical and correlation matrix -type plots, while making use of some popular packages like seaborn, but also of less known methods such as “masking” a correlation matrix using numpy indexing methods in combination with array data. I had never been exposed to this concept myself and spent quite a bit of time researching useful tips on Stack Overflow. Definitely a neat one.

Approach: Convert the general questions into Pandas methods; chain them together to get to the final answer; render the final answer using seaborn plotting in combination with formatting arguments supported by numpy

Key concepts: Reshaping and grouping data, outlier removal, seaborn plots, numpy masks

4. Page View Time Series Visualizer

Source: Author

Goal: “visualize time series data using a line chart, bar chart, and box plots”

Considerations: Similar to project 3, with the added caveat of having to process time series data to render trends and distributions over time

Approach: Convert the general questions into Pandas methods; chain them together to get to the final answer; render the final answer using seaborn plotting in combination with formatting arguments.

Key concepts: Pivoting and grouping data, outlier removal, seaborn plots, time series representation

5. Sea Level Predictor

Source: Author

Goal: “Analyze a dataset of the global average sea level change since 1880. Use the data to predict the sea level change through year 2050 with two different regression models”

Considerations: In this project the added component of a simple regression model is introduced when working with time series data; you will make use of the SciPy package to fit a couple of regression models to estimate sea level projections. This project is a simple yet useful introductions to a statistical model, which closes off the series.

Approach: Fit regression models two the data, and plot the predicted values over the current time-series

Key concepts: Regression model, scatterplot, graph formatting

Summary and next steps

Overall, the projects represent a great way to build familiarity with many common data analysis tasks and packages, and serve as a very good introduction to the field.

Upon completion, you will receive a certificate which will enable you to build some confidence in your skills before moving on to further learning and project building.

Thanks for reading!