Written by a data scientist with decades of practical experience on some of the most challenging datasets, this book caters to both novices and professionals working in the fields of data science and machine learning. It enables novices to enter these fields with confidence and ease. There are no formal prerequisites. An introduction to Python is included. The book then proceeds to cover some of the language's most advanced features. The mathematical foundations that follow are meticulously explained. The discussion then proceeds to a practical consideration of data science and machine learning. The material is delivered through case studies developed on real datasets. The reader is invited to follow these case studies, and so develop experience in working with real data. Numerous solved exercises make this work suitable for self-study. The contents of this book have been taught by the author to students of different age groups and levels of experience at Imperial College London and at the Thalesians Intensive Summer School in Artificial Intelligence over the years.