I am new to python programming and machine learning. Are there any books that give good practice of programming using python? Also do suggest books for machine learning.
Definitely the following one: "Introduction to Machine Learning with Python". It is written in a way that enables even non-specialists in ML methods, statistics, and mathematics to start their own application of ML methods in their own field quickly.
Nevertheless, be aware of the fact that a deep knowledge of ML methods from a mathematical point of view gives you the edge. Deep understanding helps you to avoid mistakes in
* the design of ML experiments and search for solutions,
* the evaluation of found solutions,
* interpretation of achieved results,
* and assessment of the reliability of achieved solutions.
You have chosen a very useful research tool but be aware of the interpretation and incorporation of achieved results within the context of current knowledge.
There is a huge aspect of all ML method applications: replicability, transparency, reliability of achieved results, and safety of their applications in any application area.
Those who want to know more about those complicated questions are recommended to read this paper
Try Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems, I found it to be a very useful book.