Data Science From Scratch: First Principles with Python, Second Edition