7 Steps to Mastering Python for Data Science
Here’s how you can learn to code in Python from scratch in 7 easy steps.
Photo by Christina Morillo
Despite pursuing a degree in computer science, I had no idea how to code after graduating from university. The programming classes I took in college were highly theoretical, and I was unable to apply the concepts I had learnt to solve real-world problems.
I wanted to pursue a career in data science and analytics but lacked the programming skills necessary to land a job in the field.
Even after coding along to countless programming YouTube videos, I found myself unable to build an entire project on my own. I simply didn’t know where to start and struggled to solve problems without the help of coding tutorials.
After getting stuck in a seemingly endless loop of attempting to learn Python and failing, I finally sought advice from a few experienced programmers and data scientists who were well-established in the field.
I created a Python learning roadmap based on the advice they gave me and followed it religiously. After spending around 7–8 hours a day programming for three months, I became proficient enough in Python to land my first data science internship.
In this article, I will condense all the resources I’ve used to learn Python into just 7 steps. To ensure that this roadmap is accessible to everyone, I will also provide free alternatives to every resource mentioned in this article.
Step 1: Learn the Fundamentals
If you are a complete beginner with no programming knowledge whatsoever, start by learning the basics of Python. This includes concepts such as:
- Conditional Statements
- Control Flow
- Data Structures
These fundamental concepts are the backbone of every coding language, and you must learn them to build a solid foundation in programming.
To learn the basics of Python programming, I recommend taking the 2022 Complete Python Bootcamp by Jose Portilla on Udemy. Jose Portilla is a professional data science and programming trainer and is one of the best instructors I’ve ever learnt from.
Programming used to be an intimidating subject that I found overwhelming at times, but Jose’s teaching style made the subject enjoyable for me. His courses start out with simple lectures and exercises, and slowly increase in complexity at a pace that is easy to keep up with.
If you’d like a free alternative to the course above, code along to FreeCodeCamp’s 4-hour Python tutorial on YouTube to learn the basics of the language. Supplement this video with W3School’s Python learning track, which contains topics like reading/writing to files that aren’t covered in the FreeCodeCamp tutorial.
Step 2: Practice Coding Challenges
Online courses alone aren’t sufficient to learn programming.
When I first tried learning to code, I made the mistake of continuously taking online courses. I spent many hours coding along to tutorials but was completely lost when trying to write my own program.
This situation is called the tutorial trap. Many programmers get stuck taking online course after online course and fail to put the concepts learnt into practice. Due to this, they are unable to solve real-world programming challenges, and cannot write a piece of code without the help of a tutorial.
The tutorial trap is an awful situation to get stuck in, which is why I recommend only taking one or two programming online courses. You don’t need any more than that to learn the basics of coding.
After you have a grasp of programming fundamentals, start to put your knowledge into practice.
HackerRank is a coding challenge platform that presents a variety of programming problems in different languages. You can solve the site’s challenges in Python. Start with the easiest problems and work your way up to the more advanced questions.
When I first started solving coding challenge problems on HackerRank, even the simplest questions would take me hours to complete. As I continued practicing and reviewing other programmers’ solutions, I started to become better at it, and was able to solve more difficult problems at a faster pace.
Here’s an example of the kind of problems HackerRank presents (these challenges get more difficult as you keep solving them):
HackerRank is also often used by companies to assess candidates during the job interview process, so practicing coding challenges on the platform will make it easier for you to pass technical data science interviews.
Step 3: Python for Data Analysis
Once you solve coding problems on sites like HackerRank, you will have a reasonably strong grasp of Python programming.
You then need to learn to use these coding skills to munge and analyze large amounts of data. Python has a vast array of libraries that can be used for data manipulation and analysis, such as Pandas, Matplotlib, and Seaborn.
To learn Python for data analysis, you can take Jose Portilla’s Python for Data Analysis and Visualization course.
An alternative to this is the Exploratory Data Analysis in Python course by Datacamp. The first module in this course can be taken for free, so you can try it out before making a purchase.
If you’d like a course that is completely free, check out Data Analysis with Python, a 4 hour YouTube tutorial by FreeCodeCamp.
Step 4: Python for Machine Learning
As a data scientist, you must know how to build and interpret the performance of predictive algorithms using Python packages like Scikit-Learn.
Machine Learning Fundamentals with Python is a great course by Datacamp that you can take to learn the implementation of ML models in Python.
This program will take you through how to build, train, and evaluate supervised and unsupervised ML algorithms using the Scikit-Learn library. In addition, you will also learn about linear classifiers like support vector machines and the inner workings behind them.
Finally, this course will teach you to implement deep learning algorithms in Python using the Keras framework.
If you’d like a free alternative to this course, I suggest coding along to Krish Naik’s Machine Learning with Python playlist. This playlist contains all the concepts covered in the Datacamp course above, although the order and teaching style may differ slightly.
Step 5: Python for Data Collection
Many companies rely on publicly available external data to build machine learning projects. As a data scientist, it is likely that you will be required to collect data like government reports, social sentiment, and reviews from online sources.
To achieve this, you need to be able to pull large amounts of data automatically from web pages?—?either through APIs or web scraping. Python has built-in libraries like BeautifulSoup that can help you collect external data and parse it easily.
If you’d like to learn to build automated web scrapers, Datacamp’s Web Scraping with Python course is a great place to start. A free alternative to this course is FreeCodeCamp’s Web Scraping with BeautifulSoup tutorial.
You can also code along to this web scraping tutorial I created not long ago.
Step 6: Projects
After completing all the steps mentioned above, you should have a strong enough grasp of Python programming to start creating your own projects.
Building an end-to-end project is one of the best ways to enhance your coding skills. If you don’t have a technical degree, projects will provide hiring managers with confidence in your programming skills.
Many data science aspirants with no technical background whatsoever have managed to transition into the field simply by showcasing their work through projects.
It is important that you build projects that demonstrate a variety of skills.
A data scientist’s role typically involves using programming tools to collect data, perform exploratory analysis and visualization, and build predictive models.
Make sure to create a variety of projects that showcase your ability to do all of the above, as this will help you stand out amongst other candidates who only possess skills in one or two of these areas.
If you want to build data science projects in Python but aren’t sure where to start, read this article for project ideas that will help your resume stand out.
Step 7: Build a Portfolio That Stands Out
Now that you have learnt Python and created projects to demonstrate your skills in the language, you can build a portfolio to showcase all of your work in one place.
I suggest building a portfolio website and hosting it online. This way, people can see all of your work in one place, in a single link.
When I applied for my first data science internship, I just sent the hiring manager a link to my portfolio website. Although the website wasn’t even complete and only displayed three projects at that time, it impressed him enough to call me for an interview?—?without even enquiring about my degree, grades, or technical background.
I used GitHub pages to create my portfolio, and you can read about how I did so here.
If you’d like a simpler, no-code alternative, you can use a website builder like Wix or WordPress to build your portfolio site.
Remember, Practice Makes Perfect.
Learning to code can be overwhelming and is a barrier that many data science aspirants struggle with when attempting to break into the field. However, there is only one difference between an experienced and novice programmer, and that is practice. Your coding skills will improve as you continue to build projects and attempt programming challenges.