You should be familiar with Python, particularly Python 3 and up. You should also know how to write functions and basic scripts in Python, understand standard programming concepts such as variables, data types, and control flow (if/else, for/while loops), and be able to use Python as a functional programming language. Some basic knowledge of object-oriented programming may be helpful, but is not necessary. If your Python prowess isn't yet at this level, the Python documentation includes a helpful tutorial for quickly getting up to speed: https://docs.python.org/3/tutorial/index.html.
The accompanying code for the book can be found on GitHub at https://github.com/stefmolin/Hands-On-Data-Analysis-with-Pandas. To get the most out of the book, you should follow along in the Jupyter Notebooks as you read through each chapter. We will cover setting up your environment and obtaining these files in Chapter 1, Introduction to Data Analysis.
Lastly, be sure to do the exercises at the end of each chapter. Some of them may be quite difficult, but they will make you much stronger with the material. Solutions for each chapter's exercises can be found at https://github.com/stefmolin/Hands-On-Data-Analysis-with-Pandas/tree/master/solutions in their respective folders.