There are a large no of free books available online to learn the basics of data science. Very good to start with before considering more advanced books.
Some books for covering the basics on maths, statistics, python, sql, machine learning, AI, NLP, etc are listed below. They give you a good starting point before starting any course or project.
Think Stats is an introduction to Probability and Statistics for Python programmers.
Think Python is an introduction to Python programming for beginners. It starts with basic concepts of programming, and is carefully designed to define all terms when they are first used and to develop each new concept in a logical progression. http://greenteapress.com/thinkpython2/thinkpython2.pdf
The Elements of Statistical Learning During the past decade has been an explosion in computation and information technology. With it has come vast amounts of data in a variety of fields such as medicine, biology, finance, and marketing. The challenge of understanding these data has led to the development of new tools in the field of statistics, and spawned new areas such as data mining, machine learning, and bioinformatics. This book describes the important ideas in these areas in a common conceptual framework. While the approach is statistical, the emphasis is on concepts rather than mathematics. It should be a valuable resource for statisticians and anyone interested in data mining in science or industry. The book’s coverage is broad, from supervised learning (prediction) to unsupervised learning. The many topics include neural networks, support vector machines, classification trees and boosting–the first comprehensive treatment of this topic in any book. http://web.stanford.edu/~hastie/ElemStatLearn/printings/ESLII_print12.pdf
Understanding Machine Learning: From Theory to Algorithms Machine learning is one of the fastest growing areas of computer science, with far-reaching applications. The aim of this textbook is to introduce machine learning, and the algorithmic paradigms it offers, in a principled way. The book provides a theoretical account of the fundamentals underlying machine learning and the mathematical derivations that transform these principles into practical algorithms. Following a presentation of the basics, the book covers a wide array of central topics unaddressed by previous textbooks. http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/understanding-machine-learning-theory-algorithms.pdf
Natural Language Processing with Python This book provides a highly accessible introduction to the field of NLP. It can be used for individual study or as the textbook for a course on natural language processing or computational linguistics, or as a supplement to courses in artificial intelligence, text mining, or corpus linguistics. The book is intensely practical, containing hundreds of fully-worked examples and graded exercises. The book is based on the Python programming language together with an open source library called the Natural Language Toolkit (NLTK). NLTK includes extensive software, data, and documentation, all freely downloadable. https://www.nltk.org/book/
The Deep Learning textbook is a resource intended to help students and practitioners enter the field of machine learning in general and deep learning in particular. The online version of the book is now complete and will remain available online for free. https://www.deeplearningbook.org/
Bayesian Reasoning and Machine Learning Machine learning methods extract value from vast data sets quickly and with modest resources. They are established tools in a wide range of industrial applications including search engines DNA sequencing stock market analysis and robot locomotion and their use is spreading rapidly. People who know the methods have their choice of rewarding jobs. This hands-on text opens these opportunities to computer science students with modest mathematical backgrounds. http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf