Why you should not learn “Python for Data Science”

If you pivoted into Data from a non computer science background like me, you’d agree with me that one of the first courses you found on the internet at the beginning of your journey was named something like “Python for Data Science” or Introduction to Python for Data Analysis”. While I understand that the reason for this is to teach you just enough so you can get started with Exploratory Data Analysis or Data Wrangling using Numpy, in my opinion this is simply not enough.

I took these same courses (free and paid), built some Data projects, put up some portfolio projects on Tableau and went on my merry way to apply for jobs and was presented with Codility challenges that quickly showed me that my knowledge of Python was deficient. Beyond knowing just a bit of Python to go by at a regular job, I realized that employers wanted to know that I could manage more complex tasks that required a higher knowledge of the language that I currently had. Oh, I also usually failed those challenges as well.

This blog post is about how I fixed this gap in my knowledge and what I think everyone should know in Python if they want to be world class. They have been broken into Beginner, Intermediate and Advanced so anyone can have a pretty good understanding of where they are and what they need to level up. Let me know if there’s anything you believe I left out or miscategorized. Until next time, continue being World Class.

PYTHON TO KNOW

Beginner

· Variables, Numbers, Strings, Lists

· Dictionaries, tuples

· Operables

· If, For Control Blocks/ Control Flow, Loops

· Functions

· Read, Write Files (I/O)

· Modules

· Conditionals, Chained Conditionals

· Basic Data Structures in Python

· Mutable & Immutable Data Types in Python

· Python Methods

Intermediate

· OOP

· Classes, Objects

· Collection Modules

· *args, **kwargs

· Inheritance

· Iterators, Generators

· List/Dict Comprehensions

· Advanced Class Behaviour

· Pip, Environment and module management

· Async I/O

· Lambda Functions

· Exception Handling

· User Defined Classes/Functions

Advanced

· Multiprocessing, Multiprocessing Lock & Pool

· Multithreading

· Unit Tests (Pytest)

· Decorators

· Context Managers

· Metaclasses

· Concurrency/ Parallelism

· Cython

1 comment / Add your comment below

Leave a Reply

Your email address will not be published. Required fields are marked *