Automate the Boring Stuff with Python
Automate the Boring Stuff with Python by Al Sweigart is a introductory level Python book. As the author describes, “In Automate the Boring Stuff with Python, you’ll learn how to use Python to write programs that do in minutes what would take you hours to do by hand-no prior programming experience required.”
The book is more applied than most of the introductory Python programming books. For example, it teaches not just the basic Python, but also teaches things like “Search for text in a file or across multiple files”, “Create, update, move, and rename files and folders”, “Search the Web and download online content”, and “Update and format data in Excel spreadsheets of any size”.
Fluent Python: Clear, Concise, and Effective Programming
Fluent Python by Luciano Ramalho is not an ideal first Python book, but the best second book, but advanced, book for Python. As the book describes, in Efficient Python book, “you’ll learn how to write effective, idiomatic Python code by leveraging its best—and possibly most neglected—features.”
In this book, the author Luciano Ramalho, “takes you through Python’s core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.”
Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython
The Second edition of Python for Data Analysis teaches you all things about data munging, data wrangling in Python.
Python for Data Analysis does not teach Python, but it teaches you the stack of tools available in Python to do data analysis. It is a great first for book doing Data Science in Python.
The author, Wes McKinney is the original creator of Pandas, a fantastic Python package for analyzing data in tabular form. It is a must to have book for any one interested in Data Science in Python.
Python Data Science Handbook: Essential Tools for Working with Data
Python Data Science Handbook by Jake VanderPlas is another must have book for learning Data Science with Python. Yes, it is not book to learn Python, but a book for Data Science toolkits in Python.
Jake Vanderplas covers all of the Python toolkits; NumPy, Pandas, Matplotlib, and Scikit-Learn needed to do good data science in Python. Each of these toolkit gets a whole chapter so a learner can learn a lot. The final chapter is on Machine Learning techniques that are useful for data scientists using Scikit-learn.
Want to know more about the book, check out the detailed review of the book. Jake Vanderplas is a prolific data scientist. His new data visualization package Altair, not covered in this book, is a must if you are interested in data visualization with Python.
Introduction to Machine Learning with Python: A Guide for Data Scientists
Introduction to Machine Learning with Python: A Guide for Data Scientists by Andreas C. Müller and Sarah Guido is the best introduction to common Machine Learning techniques using Scikit Learn. This is not a Data Science book for Python, but it is Machine Learning book for Data Scientist.
The book focuses more on the practical aspects of using machine learning methods. It extensively uses NumPy and Matplotlib, so a familiarity with the libraries will be of great help.