by Kenneth Reitz & Tanya Schlusser
This is an excellent book for all Python developers, both for beginners and more experienced users. It isn’t specific to Data Science. However, it will give you a fantastic grounding in the language and in particular includes recommended best practices and frameworks.
It includes everything from installation, development environments, recommended code structure, object-oriented programming and some really excellent chapters on code style. One of the stand-out parts of this book are its descriptions of best practices for structuring directories containing your Python code.
It is quite opinionated in its style but I think in many ways this is a very good thing. As quite often in programming, as a beginner, you have to navigate a sea of the many different ways of doing things and are often unsure which method to choose.
By Al Sweigart
Another book that isn’t specific to data science. However, if you want something that will get you excited about the simple practical use cases for Python then this book is definitely worth reading.
The main focus is on automating simple repetitive tasks and assumes no prior knowledge of programming so is excellent for the complete beginner. I personally find that I learn best when I have a practical implementation in mind and this book gives you some very simple tasks that a beginner can quickly perform in Python.
By Dr Charles R. Severance
This book is an accompaniment to the Python for Everybody Specialization on Coursera and takes an informatics approach to learn Python as opposed to a computer science-based approach. It, therefore, focusses heavily on how to use Python for data analysis tasks which is a good thing if you are learning data science.
It covers all the Python basics but additionally has excellent data specific sections such as using Python to interact with databases, data visualisations and data modelling.
By Jake VanderPlas
This is a really good introduction to the core Python libraries that make up the Data Scientists toolkit. Including excellent explanations and code examples for using Numpy, Pandas, Matplotlib and Scikit-learn. There is also a good chapter on IPython, the most popular Python development environment for Data Scientists, and covers the reasons why it is so popular, very well.
By Andreas C. Muller & Sarah Guido
This book is one of the best introductions to Python for machine learning that I have found. It focusses mainly on applications with the Scikit-learn library but covers the core concepts of Python programming for machine learning that are applicable to any other library.
There are very clear explanations, best practices for machine learning workflows and lots of example code. It very gently introduces each new concept, each of which builds on the preceding concepts, becoming more complex throughout the book. It is, therefore, an excellent introduction if you are completely new to machine learning.