How to Master Python for Data Science

**The Journey to Becoming a Self-Taught Python Data Scientist**

As a self-taught programmer, learning Python and applying it to data science can seem like an overwhelming task. The journey won't be easy, but with persistence and dedication, you'll be amazed at how much you can accomplish. In this article, we'll explore the landscape of Python as applied to data science, providing starting points for your own learning journey.

**Section 1: Practicing Your Skills**

One way to improve your coding skills is by practicing them regularly. As your brain may not be as sharp when it comes to new concepts, finding exercises that challenge you can help solidify your understanding of Python. Crossword puzzles and Sudoku are great mental exercises that can also serve as a good starting point for improving your coding skills. Another way to practice your newfound Python skills is by using platforms such as LeetCode, HackerRank, and Interview Query. These platforms offer a vast array of data structures and algorithms that you can learn and practice. Additionally, participating in data science competitions, such as Kaggle, can help you gain experience working with real-world datasets and improve your coding skills.

**Section 2: Preparing for Technical Interviews**

As you progress in your learning journey, technical interviews may become a part of the process to secure internships or jobs. Preparing for these interviews is crucial, and practicing data structures and algorithms can help you feel more confident when answering questions from interviewers. Platforms like Kaggle, Strata Scratch, and Coursera offer courses and competitions that can help you prepare for technical interviews.

**Section 3: Sharing Your Knowledge**

As a programmer, one of the best ways to learn is by teaching others. The Feinman Technique, also known as the "Teaching Method," involves selecting a topic, studying it thoroughly, identifying gaps in your knowledge, and then teaching it to someone else. This technique can help solidify your understanding of the material and improve your coding skills. You can teach colleagues, host interns, or even write blog posts on platforms like Medium, Dev.to, and Hashnote.

**Section 4: Contributing to Open Source Projects**

Contributing to open source projects is a great way to learn from others in the community while gaining valuable experience working with real-world code. By reviewing issues and pull requests on platforms like GitHub, you can learn from other developers' coding styles and techniques. Additionally, contributing to open source projects can help you build your portfolio and gain confidence in your coding abilities.

**Section 5: Conclusion**

Learning Python for data science as a self-taught programmer requires dedication and persistence. By practicing your skills regularly, preparing for technical interviews, sharing your knowledge with others, and contributing to open source projects, you'll be amazed at how much you can accomplish. Remember, the best way to learn data science is to do data science, so don't be afraid to get started and enjoy the journey.

**Additional Resources**

If you found value in this article, please give it a thumbs up, subscribe, and hit the notification bell to stay updated on future content. For more information on how to master Python for data science, check out the following articles: [link to additional article].

"WEBVTTKind: captionsLanguage: enso just as i was about to record this video i was informed that this particular article how to master python for data science has been selected for inclusion in the editor's pick of taurus data science and as you can see here it was recently selected for the editor's pick and it is on the first placement here and so in this video i'm going to talk about how you could master python for data science and we're going to take a look at the essential minimal set of python that you need to know for data science so let's get started so how to master python for data science so here's the essential python you need for data science so you're embarking on your journey into data science and everyone recommends that you start with learning how to code you decided on python and are now paralyzed by the large piles of learning resources that are at your disposal perhaps you are overwhelmed and owing to analysis paralysis you are procrastinating your first steps in learning how to code in python in this article i'll be your guide and take you on a journey of exploring the essential bare minimal knowledge that you need in order to master python for getting started in data science i will assume that you have no prior coding experience or that you may come from a non-technical background however if you are coming from a technical or computer science background and have knowledge of a prior programming language and would like to transition to python you could use this article as a high level overview to get acquainted with the gist of the python language either way it is the aim of this article to navigate you through the landscape of the python language at their intersection with data science which will help you to get started in no time section one why python the first and famous question that you may have is what programming language should you learn after doing some research on the internet you may have decided on python owing to the following reasons python is an interpreted high-level programming language that is readable and easy to understand syntax python has ample learning resources available python has high versatility and multiple use cases according to python developer survey 2020 conducted by python software foundation and jetbrain python has a vast collection of libraries for performing various operations and tasks python is a popular language according to the tiobe index and stack overflow developer survey python is a highly sought after skills by employers section two use cases for python another question that you may have is how exactly will python help your data science projects to answer this question let's consider the data lifecycle as shown below in essence there are five major steps consisting of data collection data cleaning exploratory data analysis model building and model deployment all of these steps can be implemented in python and once coded the resulting code is reusable and can therefore be repurposed for other related projects other aside from data analytics data science and data engineering the great versatility of python allows it to be applied for endless possibilities including automation robotics web development web scraping game development and software development moreover python is being used in practically every domain that we can think of including but not limited to aerospace banking business consulting care insurance retail and information technology you can see the data sheet made by active states on the top 10 python use cases section 3 mindsets for learning python 3.1 why are you learning python figuring out why you're learning python may help you stay motivated when life's getting in the way sure having consistency and good habits may only get you so far having a clear reason for learning may help to boost your motivation and steer you back on track 3.2 don't be afraid to fail or make mistakes a part of learning any new technical skills is to take a dive in approach to learning don't be afraid of failing or getting stuck as these are inevitable remember that you're not stuck you're learning i have always liked to approach learning new things by making as much mistakes as possible and the plus side is the valuable lessons learned that can be used for tackling it the second time around in fact i have learned about the ooda loop from one of daniel borg's blog that the faster we can iterate through this loop the better we will be in attaining intended goal the ooda loop stands for observe orient decide an act which was originally a military strategy designed by u.s air force colonel john boyd for use in combat the key is speed and to achieve that speed the iteration through the loop must proceed faster and faster thus when applied in implementing coding projects the faster we can iterate through the ooda loop the more we will learn so essentially learning by doing making mistakes and learning from that 3.3 learning how to learn there are ample learning resources available for learning python depending on the approach that resonates with you select those that maximizes your learning potential 3.3.1 reading if reading is your thing there are several great books and written tutorials that you can learn python from which includes python basics a practical introduction to python 3. automate the boring stuff with python practical programming for total beginners python crash course a hands-on project-based introduction to programming some good books using python in the context of data science and machine learning are as follows python data science handbook essential tools for working with data python for data analysis data wrangling with pandas numpy and i python hands-on machine learning with scikit-learn carousel and tensorflow concepts tools and techniques to build intelligence systems 3.3.2 visual perhaps you are more of a visual person then there's a lot of great youtube channels out there that teaches the concept as well as practical tutorials these includes free code camp data professor coding professor cs dojo corey schaefer tech with tim python programmer data school keith galley kylie yang and programming with mosh 3.3.3 project nothing beats learning by doing it is also the greatest way to push your learning to the limits the large collection of data sets available on kaggle is a great starting point to get inspiration for starting your own project guided projects by coursera is also another way to implement projects under the guidance of a course mentor 3.4 shift from following coding tutorials to implementing your own projects being able to successfully follow tutorials and being able to implement your own projects from scratch are two different things sure for the former you can follow each steps of the tutorial but when it comes to time that you have to figure out for your own which approach to use or which libraries or functions to use you may succumb to the challenge and get stuck so how exactly can you make the transition from being a follower of coding tutorials to actually being able to implement your own project find out in the next section 3.5 learning to solve problems the answer is quite simple you have to start doing projects the more the merrier as you accumulate experience from many projects you're going to acquire skills pertaining to problem solving and problem framing to get started follow these process first select an interesting problem to work on second understand the problem third break down the problem to the smallest part fourth implement the small parts then piece together the results of these parts and holistically see if they address the problem step 5 rinse and repeat you may also find the project to be more engaging if you are passionate about the topic or if it piques your interest look around you what topics are you interested in and think about what you would like to know more about for example if you are a youtube content creator you may find it interesting to analyze your content in relation to its performance for example views hours watched watch time video click-through rates 3.6 don't reinvent the wheel you should become familiar with using python functions to perform various tasks in a nutshell the thousands of python libraries that are available on pi pi conda or github comes pre-equipped with a wide range of functions that you can use right out of the box the essence of these functions is that it normally takes in input arguments for which it uses to perform a predefined task or set of tasks before returning the output import arguments can be explicitly specified when running the functions but if none are specified then python assumes that you're using a set of default parameters before embarking on writing your own custom function do some googling to see if there are already some existing functions from libraries that perform similar functionality as to what you plan on implementing chances are there may already be an existing function for which you just need to simply import and use 3.7 learning new libraries it should be noted that if you're familiar with one library you're also likely to be able to pick up other related libraries for example if you are already familiar with using matplotlib using seaborn or plotly should be fairly easy to learn and implement because the foundations are already in place similar with the deep learning libraries tensorflow torch fast ai and mxnet 3.8 debugging and asking for help as you code your projects and your code throws out errors it is therefore essential that you learn how to debug the code and problem solve however if the error goes beyond your comprehension it is important that you know how to ask for help the first person that you should ask is yourself yes i know you may be wondering how would that work since you're clueless right now by asking yourself i mean that you first try to solve the problem yourself before you ask others for help this is important because it goes to show your character and your persistence so how exactly can you debug the code and problem solve number one read the output carefully as the reason for the error is explicitly written in the output sometimes even the simplest error may have slipped our mind such as forgetting to install some libraries or forgetting to first define the variables before using it number two if you are still clueless now it's time to start googling thus you will now have to learn how to master the art of asking the right question if you're asking google using irrelevant keywords you may not find any useful answers in the search results the easiest way is to include keywords related to the problem in the search query i would use the following as keyword first is the name of the python or r library and then you could copy and paste the error message afterwards yes that's basically it but let's say i would like to limit my search from only stack overflow i would add sites colon stackoverflow.com as an additional statement in the search query or alternatively you could also head over to the stack overflow website and perform the search there 3.9 consistency and accountability a recurring theme in any learning journey is to develop a habit of learning which will help you to become consistent in your learning journey coding consistently will put your momentum in action and the more you use it the more skillful you will become as the saying goes use it or lose it the 66 days of data initiative started by kenji is a great way to build good habits of learning maintaining consistency and also to gain accountability for your learning to take part in this initiative is quite easy you just need to spend at least five minutes a day coding or doing data science and then you could share what you've learned using the hashtag 66 days of data on twitter or linkedin section 4 python coding environment 4.1 integrated development environment integrated development environment or ide can be thought of as the workspace that will house your code and not only that it also provides additional amenities and convenience that can augment your coding process basic features of an ide include syntax highlighting code folding and bracket matching path awareness of files in the project ability to run selected code blobs or the entire file more advanced features might also include code suggestion completion having a debugging tool as well as support for version control popular ides for python include vs code which is a powerful and highly customizable ide pycharm another powerful ide but it may require a paid description to unlock all features available in the pro version other than that the community version offers a good standard ide spider r and matlab users will find this to have a r studio or matlab vibe atom it sports a beginner friendly interface that is quite easy and also highly customizable 4.2 jupiter notebook jupiter notebook can be installed locally to any operating system of your choice whether it is windows linux or mac os x via pip or or conda other flavors of jupiter is the jupiter lab that also provides a workspace and ide like environment for larger and more complex projects cloud deviants of the jupiter notebook have been a blessing to all aspiring and practicing data scientists as it enables everyone access to powerful computational resources both cpu and gpu computing i conducted a survey in the community section of my youtube channel data professor to see which of the cloud-based super notebooks were most popular amongst the community as can be seen the five popular jupiter notebooks include google collab at eighty percent kaggle notebooks at fourteen percent deep note at three percent data lower at one percent paper space gradient notebooks at two percent and so this is based on a thousand votes it should be noted that all of these notebooks provide a free tier with access to limited computational resources as well as a pro tier with access to more powerful computational resources but may require some upfront costs there may be more but the above are those that i have frequently heard of 4.3 useful plug-in code suggestion and completion plugins such as the one offered by kite provides immense support for speeding up the coding process as it helps to suggest the completion of lines of codes or even blocks of code this comes in handy especially when you have to sit long hours to code a couple of seconds saved here and there may accumulate drastically over time such code suggestion may also double as an educational or reinforcement tool because sometimes our mind can wander off it could get bogged down over long periods of coding as it may suggest certain code blocks based on the context of the code that we have written section 5 fundamentals of python in this section we will cover the bare minimum that you need to know to get started in python variables data types and operators this is the most important as you'll be doing this a lot for virtually all of your projects you can think of this as sort of like the alphabets which are the building blocks that you use for spelling words defining and using variables allows you to store values for later usage the various data types allows you the flexibility to make use of data whether it be numerical or categorical data that is quantitative or qualitative operators will allow you to use filter process and filter data list comprehension and operation this will be useful for pre-processing data arrays as data sets are essentially collections of numerical or categorical values loops loops such as for and while allows us to iterate through each element in an array list or data frames to perform the same task at a high level this allows us to automate the processing of data conditional statements if lf and else allows the code to make decisions as to the appropriate path proceed with handling or for processing the input data we can use it to perform a certain task if a certain condition is met for example we could use it to figure out what is the data type of the input data if it is a numerical we perform processing task a otherwise or else we perform processing task b creating and using functions function creation helps to group similar processing tasks together in a modular manner that essentially saves your future selves time as it allows you to make your code reusable file handling reading and writing files creating moving and renaming folders setting environmental paths navigating through the paths etc error and exception handling errors is inevitable and devising the proper handling of such errors is a great way to prevent the code from stalling and not proceeding further section 6 python libraries for data science data handling pandas is the go-to library for handling the common data format as either one-dimensional series which can be thought of as a single column of a data frame or a two-dimensional data frame for example it is common for tabular data sets statistical analysis stats models is a library that provides functions for statistical tests statistical models as well as building linear regression models machine learning scikit-learn is the go-to library for building machine learning models aside from model building the library also contains sample data sets utility functions for pre-processing data sets as well as for evaluating the model performance deep learning popular libraries for deep learning includes tensorflow and pytorch other libraries include fast ai and mxnet scientific computation scipy is the go-to library for scientific and technical computation that encompass integration interpolation optimization linear algebra image and signal processing etc data visualization there are several libraries for data visualization and the most popular is matplotlib which allows the generation of a wide range of plots seaborn is an alternative library that draws its functionality from matplotlib but the resulting plots are more refined and attractive plotly allows the generation of interactive plots web applications django and flask are standard web frameworks for web development as well as for deployment machine learning models in recent years minimal and more lightweight alternatives have gained popularity as they are simple and quick to implement some of these include streamlet dash and pi web io section 7 writing beautiful python code in 2001 guido van rossum barry warsaw and nick coughlin released a document that establishes a set of guidelines and best practices for writing python code called the pep8 particularly pap pep is an acronym for python enhancement proposal and pep8 is just one of many documents the major aim of pep8 is to improve the readability and consistency of python code as guido van ross imposes it code is read much more often than it is written thus writing readable code is like paying it forward because it will either be read by your future self or by others a common situation that i often encounter is poorly documented code either by myself or by my colleague but luckily we have improved over the years section 8 documenting your code it is always a great idea to document your code as soon as you have written it because chances are as time passes you may have forgot some of the reasons for why you're using a certain approach over another i also find it helps to include my train of thoughts that goes into certain blocks of code which your future self may appreciate as it may very well serve as a good starting point for improving the code at a future point in time i.e when your brain is at a fresh mental state and ideas may flow better section 9 practicing your newfound python skills doing crossword puzzles or sudoku are great mental exercises and why not do the same for putting your python skills to the test platforms such as lead code and hackerrank helps you to learn and practice data structures and algorithms as well as prepare for technical interviews other similar platforms in the data science realm are interview query and strata scratch kaggle is a great place for aspiring data scientists to learn data science by means of participating in data computations aside from this there are apple data sets from which to practice with as well as a large collection of community published notebooks from which to draw inspirations from if you're keen on making it to the top as a cagler there's a coursera course on how to win a data science competition learned from top tagglers that can help you section 10 sharing your knowledge as programmers often rely on rubber ducks as a teaching tool where they would attempt to explain their problems to and in doing so allows them to gain perspective and oftentimes find a solution to those problems as an aspiring data scientist or a practicing data scientist learning a new tool it is also the case that the best way to learn is to teach it to others as also stated by definement learning technique so how does that work select and study a topic teach it to a child identify gaps in your knowledge and finally review and simplify and then you could also go back to teach it again so this is the schematic diagram of the feinman technique so how exactly can you teach there's actually a lot of ways as i have listed below you could teach a colleague perhaps you may host an intern for whom you can teach you could write a blog blogs are a great way to teach as there are a vast numbers of learners who look to blog posts to learn something new popular platforms for technical blogs include medium dev.2 and hashnote you can also make a youtube video you can make a video to explain about the concept that you're learning about or even a practical tutorial video showing how to use a particular library how to build a machine learning model how to build a web application etc section 11 contributing to open source projects contributing to open source projects has many benefits firstly you'll be able to learn from other experts in the field as well as learning from reviewing other people's code particularly by reviewing issues and pool requests as shown in the screenshot here which shows the pull request page of the tensorflow project on github secondly you will also get the opportunity to be familiar with the use of git as you contribute your code open source projects are hosted on github as well as related platforms such as bitbucket and gitlab thirdly you'll be able to network with others in the community as you gain community and peer recognition you will also gain more confidence in your coding abilities who knows maybe you'll even create your very own open source project fourthly you're paying it forward as open source projects relies on developers contributing on a volunteer basis contributing to the greater good may also give you a sense of satisfaction that you're making an impact to the community fifthly you'll also gain valuable experience of contributing to a real world project that may help you in the future in landing your own intern or job placement contributing does not mean that you will have to create a big and complex enhancement to the project you could start by correcting a small bug that you may have come across and that should get the momentum rolling an added benefit is that as you fix the code you may also improve your coding and documentation skill particularly you'll be writing readable and maintainable code so that others can also understand moreover the challenge and accountability that comes from this may also help you to stay engaged in coding inclusion in summary this article explores the landscape of python as applied to data science as a self-taught programmer i know how tough it may be to not only learn coding but also to apply it to solve data problems the journey won't be easy but you can persevere and you'll be amazed at how much you can do with python in your data science journey i hope that this article provided some starting points that you could use to adapt as you embark in your learning journey please drop a comment to suggest any point that works for you right and so you should definitely check out the following articles as well and i'll provide you the link to this particular article how to master python for data science and if you're finding value in this video please give it a thumbs up subscribe if you haven't already make sure to hit on the notification bell so that you will be notified of the next video and as always the best way to learn data science is to do data science please enjoy the journeyso just as i was about to record this video i was informed that this particular article how to master python for data science has been selected for inclusion in the editor's pick of taurus data science and as you can see here it was recently selected for the editor's pick and it is on the first placement here and so in this video i'm going to talk about how you could master python for data science and we're going to take a look at the essential minimal set of python that you need to know for data science so let's get started so how to master python for data science so here's the essential python you need for data science so you're embarking on your journey into data science and everyone recommends that you start with learning how to code you decided on python and are now paralyzed by the large piles of learning resources that are at your disposal perhaps you are overwhelmed and owing to analysis paralysis you are procrastinating your first steps in learning how to code in python in this article i'll be your guide and take you on a journey of exploring the essential bare minimal knowledge that you need in order to master python for getting started in data science i will assume that you have no prior coding experience or that you may come from a non-technical background however if you are coming from a technical or computer science background and have knowledge of a prior programming language and would like to transition to python you could use this article as a high level overview to get acquainted with the gist of the python language either way it is the aim of this article to navigate you through the landscape of the python language at their intersection with data science which will help you to get started in no time section one why python the first and famous question that you may have is what programming language should you learn after doing some research on the internet you may have decided on python owing to the following reasons python is an interpreted high-level programming language that is readable and easy to understand syntax python has ample learning resources available python has high versatility and multiple use cases according to python developer survey 2020 conducted by python software foundation and jetbrain python has a vast collection of libraries for performing various operations and tasks python is a popular language according to the tiobe index and stack overflow developer survey python is a highly sought after skills by employers section two use cases for python another question that you may have is how exactly will python help your data science projects to answer this question let's consider the data lifecycle as shown below in essence there are five major steps consisting of data collection data cleaning exploratory data analysis model building and model deployment all of these steps can be implemented in python and once coded the resulting code is reusable and can therefore be repurposed for other related projects other aside from data analytics data science and data engineering the great versatility of python allows it to be applied for endless possibilities including automation robotics web development web scraping game development and software development moreover python is being used in practically every domain that we can think of including but not limited to aerospace banking business consulting care insurance retail and information technology you can see the data sheet made by active states on the top 10 python use cases section 3 mindsets for learning python 3.1 why are you learning python figuring out why you're learning python may help you stay motivated when life's getting in the way sure having consistency and good habits may only get you so far having a clear reason for learning may help to boost your motivation and steer you back on track 3.2 don't be afraid to fail or make mistakes a part of learning any new technical skills is to take a dive in approach to learning don't be afraid of failing or getting stuck as these are inevitable remember that you're not stuck you're learning i have always liked to approach learning new things by making as much mistakes as possible and the plus side is the valuable lessons learned that can be used for tackling it the second time around in fact i have learned about the ooda loop from one of daniel borg's blog that the faster we can iterate through this loop the better we will be in attaining intended goal the ooda loop stands for observe orient decide an act which was originally a military strategy designed by u.s air force colonel john boyd for use in combat the key is speed and to achieve that speed the iteration through the loop must proceed faster and faster thus when applied in implementing coding projects the faster we can iterate through the ooda loop the more we will learn so essentially learning by doing making mistakes and learning from that 3.3 learning how to learn there are ample learning resources available for learning python depending on the approach that resonates with you select those that maximizes your learning potential 3.3.1 reading if reading is your thing there are several great books and written tutorials that you can learn python from which includes python basics a practical introduction to python 3. automate the boring stuff with python practical programming for total beginners python crash course a hands-on project-based introduction to programming some good books using python in the context of data science and machine learning are as follows python data science handbook essential tools for working with data python for data analysis data wrangling with pandas numpy and i python hands-on machine learning with scikit-learn carousel and tensorflow concepts tools and techniques to build intelligence systems 3.3.2 visual perhaps you are more of a visual person then there's a lot of great youtube channels out there that teaches the concept as well as practical tutorials these includes free code camp data professor coding professor cs dojo corey schaefer tech with tim python programmer data school keith galley kylie yang and programming with mosh 3.3.3 project nothing beats learning by doing it is also the greatest way to push your learning to the limits the large collection of data sets available on kaggle is a great starting point to get inspiration for starting your own project guided projects by coursera is also another way to implement projects under the guidance of a course mentor 3.4 shift from following coding tutorials to implementing your own projects being able to successfully follow tutorials and being able to implement your own projects from scratch are two different things sure for the former you can follow each steps of the tutorial but when it comes to time that you have to figure out for your own which approach to use or which libraries or functions to use you may succumb to the challenge and get stuck so how exactly can you make the transition from being a follower of coding tutorials to actually being able to implement your own project find out in the next section 3.5 learning to solve problems the answer is quite simple you have to start doing projects the more the merrier as you accumulate experience from many projects you're going to acquire skills pertaining to problem solving and problem framing to get started follow these process first select an interesting problem to work on second understand the problem third break down the problem to the smallest part fourth implement the small parts then piece together the results of these parts and holistically see if they address the problem step 5 rinse and repeat you may also find the project to be more engaging if you are passionate about the topic or if it piques your interest look around you what topics are you interested in and think about what you would like to know more about for example if you are a youtube content creator you may find it interesting to analyze your content in relation to its performance for example views hours watched watch time video click-through rates 3.6 don't reinvent the wheel you should become familiar with using python functions to perform various tasks in a nutshell the thousands of python libraries that are available on pi pi conda or github comes pre-equipped with a wide range of functions that you can use right out of the box the essence of these functions is that it normally takes in input arguments for which it uses to perform a predefined task or set of tasks before returning the output import arguments can be explicitly specified when running the functions but if none are specified then python assumes that you're using a set of default parameters before embarking on writing your own custom function do some googling to see if there are already some existing functions from libraries that perform similar functionality as to what you plan on implementing chances are there may already be an existing function for which you just need to simply import and use 3.7 learning new libraries it should be noted that if you're familiar with one library you're also likely to be able to pick up other related libraries for example if you are already familiar with using matplotlib using seaborn or plotly should be fairly easy to learn and implement because the foundations are already in place similar with the deep learning libraries tensorflow torch fast ai and mxnet 3.8 debugging and asking for help as you code your projects and your code throws out errors it is therefore essential that you learn how to debug the code and problem solve however if the error goes beyond your comprehension it is important that you know how to ask for help the first person that you should ask is yourself yes i know you may be wondering how would that work since you're clueless right now by asking yourself i mean that you first try to solve the problem yourself before you ask others for help this is important because it goes to show your character and your persistence so how exactly can you debug the code and problem solve number one read the output carefully as the reason for the error is explicitly written in the output sometimes even the simplest error may have slipped our mind such as forgetting to install some libraries or forgetting to first define the variables before using it number two if you are still clueless now it's time to start googling thus you will now have to learn how to master the art of asking the right question if you're asking google using irrelevant keywords you may not find any useful answers in the search results the easiest way is to include keywords related to the problem in the search query i would use the following as keyword first is the name of the python or r library and then you could copy and paste the error message afterwards yes that's basically it but let's say i would like to limit my search from only stack overflow i would add sites colon stackoverflow.com as an additional statement in the search query or alternatively you could also head over to the stack overflow website and perform the search there 3.9 consistency and accountability a recurring theme in any learning journey is to develop a habit of learning which will help you to become consistent in your learning journey coding consistently will put your momentum in action and the more you use it the more skillful you will become as the saying goes use it or lose it the 66 days of data initiative started by kenji is a great way to build good habits of learning maintaining consistency and also to gain accountability for your learning to take part in this initiative is quite easy you just need to spend at least five minutes a day coding or doing data science and then you could share what you've learned using the hashtag 66 days of data on twitter or linkedin section 4 python coding environment 4.1 integrated development environment integrated development environment or ide can be thought of as the workspace that will house your code and not only that it also provides additional amenities and convenience that can augment your coding process basic features of an ide include syntax highlighting code folding and bracket matching path awareness of files in the project ability to run selected code blobs or the entire file more advanced features might also include code suggestion completion having a debugging tool as well as support for version control popular ides for python include vs code which is a powerful and highly customizable ide pycharm another powerful ide but it may require a paid description to unlock all features available in the pro version other than that the community version offers a good standard ide spider r and matlab users will find this to have a r studio or matlab vibe atom it sports a beginner friendly interface that is quite easy and also highly customizable 4.2 jupiter notebook jupiter notebook can be installed locally to any operating system of your choice whether it is windows linux or mac os x via pip or or conda other flavors of jupiter is the jupiter lab that also provides a workspace and ide like environment for larger and more complex projects cloud deviants of the jupiter notebook have been a blessing to all aspiring and practicing data scientists as it enables everyone access to powerful computational resources both cpu and gpu computing i conducted a survey in the community section of my youtube channel data professor to see which of the cloud-based super notebooks were most popular amongst the community as can be seen the five popular jupiter notebooks include google collab at eighty percent kaggle notebooks at fourteen percent deep note at three percent data lower at one percent paper space gradient notebooks at two percent and so this is based on a thousand votes it should be noted that all of these notebooks provide a free tier with access to limited computational resources as well as a pro tier with access to more powerful computational resources but may require some upfront costs there may be more but the above are those that i have frequently heard of 4.3 useful plug-in code suggestion and completion plugins such as the one offered by kite provides immense support for speeding up the coding process as it helps to suggest the completion of lines of codes or even blocks of code this comes in handy especially when you have to sit long hours to code a couple of seconds saved here and there may accumulate drastically over time such code suggestion may also double as an educational or reinforcement tool because sometimes our mind can wander off it could get bogged down over long periods of coding as it may suggest certain code blocks based on the context of the code that we have written section 5 fundamentals of python in this section we will cover the bare minimum that you need to know to get started in python variables data types and operators this is the most important as you'll be doing this a lot for virtually all of your projects you can think of this as sort of like the alphabets which are the building blocks that you use for spelling words defining and using variables allows you to store values for later usage the various data types allows you the flexibility to make use of data whether it be numerical or categorical data that is quantitative or qualitative operators will allow you to use filter process and filter data list comprehension and operation this will be useful for pre-processing data arrays as data sets are essentially collections of numerical or categorical values loops loops such as for and while allows us to iterate through each element in an array list or data frames to perform the same task at a high level this allows us to automate the processing of data conditional statements if lf and else allows the code to make decisions as to the appropriate path proceed with handling or for processing the input data we can use it to perform a certain task if a certain condition is met for example we could use it to figure out what is the data type of the input data if it is a numerical we perform processing task a otherwise or else we perform processing task b creating and using functions function creation helps to group similar processing tasks together in a modular manner that essentially saves your future selves time as it allows you to make your code reusable file handling reading and writing files creating moving and renaming folders setting environmental paths navigating through the paths etc error and exception handling errors is inevitable and devising the proper handling of such errors is a great way to prevent the code from stalling and not proceeding further section 6 python libraries for data science data handling pandas is the go-to library for handling the common data format as either one-dimensional series which can be thought of as a single column of a data frame or a two-dimensional data frame for example it is common for tabular data sets statistical analysis stats models is a library that provides functions for statistical tests statistical models as well as building linear regression models machine learning scikit-learn is the go-to library for building machine learning models aside from model building the library also contains sample data sets utility functions for pre-processing data sets as well as for evaluating the model performance deep learning popular libraries for deep learning includes tensorflow and pytorch other libraries include fast ai and mxnet scientific computation scipy is the go-to library for scientific and technical computation that encompass integration interpolation optimization linear algebra image and signal processing etc data visualization there are several libraries for data visualization and the most popular is matplotlib which allows the generation of a wide range of plots seaborn is an alternative library that draws its functionality from matplotlib but the resulting plots are more refined and attractive plotly allows the generation of interactive plots web applications django and flask are standard web frameworks for web development as well as for deployment machine learning models in recent years minimal and more lightweight alternatives have gained popularity as they are simple and quick to implement some of these include streamlet dash and pi web io section 7 writing beautiful python code in 2001 guido van rossum barry warsaw and nick coughlin released a document that establishes a set of guidelines and best practices for writing python code called the pep8 particularly pap pep is an acronym for python enhancement proposal and pep8 is just one of many documents the major aim of pep8 is to improve the readability and consistency of python code as guido van ross imposes it code is read much more often than it is written thus writing readable code is like paying it forward because it will either be read by your future self or by others a common situation that i often encounter is poorly documented code either by myself or by my colleague but luckily we have improved over the years section 8 documenting your code it is always a great idea to document your code as soon as you have written it because chances are as time passes you may have forgot some of the reasons for why you're using a certain approach over another i also find it helps to include my train of thoughts that goes into certain blocks of code which your future self may appreciate as it may very well serve as a good starting point for improving the code at a future point in time i.e when your brain is at a fresh mental state and ideas may flow better section 9 practicing your newfound python skills doing crossword puzzles or sudoku are great mental exercises and why not do the same for putting your python skills to the test platforms such as lead code and hackerrank helps you to learn and practice data structures and algorithms as well as prepare for technical interviews other similar platforms in the data science realm are interview query and strata scratch kaggle is a great place for aspiring data scientists to learn data science by means of participating in data computations aside from this there are apple data sets from which to practice with as well as a large collection of community published notebooks from which to draw inspirations from if you're keen on making it to the top as a cagler there's a coursera course on how to win a data science competition learned from top tagglers that can help you section 10 sharing your knowledge as programmers often rely on rubber ducks as a teaching tool where they would attempt to explain their problems to and in doing so allows them to gain perspective and oftentimes find a solution to those problems as an aspiring data scientist or a practicing data scientist learning a new tool it is also the case that the best way to learn is to teach it to others as also stated by definement learning technique so how does that work select and study a topic teach it to a child identify gaps in your knowledge and finally review and simplify and then you could also go back to teach it again so this is the schematic diagram of the feinman technique so how exactly can you teach there's actually a lot of ways as i have listed below you could teach a colleague perhaps you may host an intern for whom you can teach you could write a blog blogs are a great way to teach as there are a vast numbers of learners who look to blog posts to learn something new popular platforms for technical blogs include medium dev.2 and hashnote you can also make a youtube video you can make a video to explain about the concept that you're learning about or even a practical tutorial video showing how to use a particular library how to build a machine learning model how to build a web application etc section 11 contributing to open source projects contributing to open source projects has many benefits firstly you'll be able to learn from other experts in the field as well as learning from reviewing other people's code particularly by reviewing issues and pool requests as shown in the screenshot here which shows the pull request page of the tensorflow project on github secondly you will also get the opportunity to be familiar with the use of git as you contribute your code open source projects are hosted on github as well as related platforms such as bitbucket and gitlab thirdly you'll be able to network with others in the community as you gain community and peer recognition you will also gain more confidence in your coding abilities who knows maybe you'll even create your very own open source project fourthly you're paying it forward as open source projects relies on developers contributing on a volunteer basis contributing to the greater good may also give you a sense of satisfaction that you're making an impact to the community fifthly you'll also gain valuable experience of contributing to a real world project that may help you in the future in landing your own intern or job placement contributing does not mean that you will have to create a big and complex enhancement to the project you could start by correcting a small bug that you may have come across and that should get the momentum rolling an added benefit is that as you fix the code you may also improve your coding and documentation skill particularly you'll be writing readable and maintainable code so that others can also understand moreover the challenge and accountability that comes from this may also help you to stay engaged in coding inclusion in summary this article explores the landscape of python as applied to data science as a self-taught programmer i know how tough it may be to not only learn coding but also to apply it to solve data problems the journey won't be easy but you can persevere and you'll be amazed at how much you can do with python in your data science journey i hope that this article provided some starting points that you could use to adapt as you embark in your learning journey please drop a comment to suggest any point that works for you right and so you should definitely check out the following articles as well and i'll provide you the link to this particular article how to master python for data science and if you're finding value in this video please give it a thumbs up subscribe if you haven't already make sure to hit on the notification bell so that you will be notified of the next video and as always the best way to learn data science is to do data science please enjoy the journey\n"