Help me choose a Data Science book in Python



I've been a Data Scientist for a few years now, but I've only recently started to do most of my work in Python (boy, do I miss ggplot2! But altair is coming to the rescue).

I want to improve my Python skills and, since most of my work is related to developing Data Science & Analytics applications, I'd rather learn from a book about these topics than from a book on, say, Application Server frameworks. Also, since I mostly develop Deep Learning models, I was looking for a PyTorch book. However I could only find two, of which one is really crappy, and the other one is from authors I really respect, but on a topic I don't work with (NLP):

So I've done a bit of research and found about the following books:

Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems

Data Science from Scratch: First Principles with Python

Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython(second edition recently came out)

Python Data Science Handbook: Essential Tools for Working with Data

Which book would you choose? You're free to suggest other titles. Requirements, in order of importance:

  1. It should be a good book about Python, so the code should be Pythonic
  2. It should be about about PyTorch, but not only about NLP (this requirement will probably be unfulfilled, for reasons above). Not about Keras, or mainly about Keras: I already have a reference for that.
  3. It should be about Data Science

Price is not an issue.


Posted 2018-05-05T12:11:55.107

Reputation: 379

Question was closed 2018-05-09T06:14:55.470

3Take a look at coursera's datascience in python 5 specialization. They introduce good free books. They are also available in their reference page. – Media – 2018-05-05T12:37:34.967



I am reading Hands-On Machine Learning with Scikit-Learn and TensorFlow, its a great book (1/2 way thru). However it uses Scikit as per the title and some of the mechanics inside Sckit are a black box (not explained in depth). The general concepts however are still quite well written.

The 2nd half of the book is about TensorFlow so again, perhaps not what you want if you're focused on PyTorch ?

Doug F

Posted 2018-05-05T12:11:55.107

Reputation: 66

2Tensorflow could be ok, as long as it's proper Tensorflow, not Keras (I already have a reference for that). I'm not exclusively focused on PyTorch, but I admit I like it quite a lot - writing code in PyTorch feels a lot more Pythonic than in Tensorflow (to be precise, it feels like coding in NumPy), so I thought that a book on PyTorch would easily double as a book to learn about NumPy/Python – DeltaIV – 2018-05-05T13:13:17.860

2Yes, so far (haven't done much in TF) I agree it feels un-Py like since its more graph oriented. I can't remember where I heard (podcast) that Google was working on some newer API's there were less graph oriented (for more Pythonic feel??) – Doug F – 2018-05-05T13:36:18.913


Use the random.randint function to have Python recommend a book for you.

Probably none is objectively best. And I don't see any training data to predict this.

Has QUIT--Anony-Mousse

Posted 2018-05-05T12:11:55.107

Reputation: 7 331

3One of the most useless answers ever. – DeltaIV – 2018-05-06T08:01:08.723

1It does help you choose a book, doesn't it? – Has QUIT--Anony-Mousse – 2018-05-06T16:50:33.233

1you don't understand the concept of the tag [reference-request], do you? – DeltaIV – 2018-05-06T22:06:28.307

No, please explain it to me, why my answer "book 2 because my random number said so" does not recommend a book. – Has QUIT--Anony-Mousse – 2018-05-06T22:08:31.480