Awesome Open Source
Awesome Open Source

Hands-On Data Analysis with Pandas

Binder Open In Colab Nbviewer Purchase the book on Amazon Hands-On Data Analysis with Pandas

This is the code repository for my book Hands-On Data Analysis with Pandas, published by Packt on July 26, 2019.

The 1st_edition tag contains all materials as they were at time of publishing the first edition.

IMPORTANT NOTE (April 29, 2021):

This is the code repository for the first edition. For the second edition, use this repository instead.

Book Description

Data analysis has become an essential skill in a variety of domains where knowing how to work with data and extract insights can generate significant value.

Hands-On Data Analysis with Pandas will show you how to analyze your data, get started with machine learning, and work effectively with Python libraries often used for data science, such as pandas, NumPy, matplotlib, seaborn, and scikit-learn. Using real-world datasets, you will learn how to use the powerful pandas library to perform data wrangling to reshape, clean, and aggregate your data. Then, you will learn how to conduct exploratory data analysis by calculating summary statistics and visualizing the data to find patterns. In the concluding chapters, you will explore some applications of anomaly detection, regression, clustering, and classification, using scikit-learn, to make predictions based on past data.

By the end of this book, you will be equipped with the skills you need to use pandas to ensure the veracity of your data, visualize it for effective decision-making, and reliably reproduce analysis across multiple domains.

What You Will Learn

Prerequisite: Basic knowledge of Python or past experience with another language (R, SAS, MATLAB, etc.).

  • Understand how data analysts and scientists gather and analyze data
  • Perform data analysis and data wrangling in Python
  • Combine, group, and aggregate data from multiple sources
  • Create data visualizations with pandas, matplotlib, and seaborn
  • Apply machine learning algorithms with sklearn to identify patterns and make predictions
  • Use Python data science libraries to analyze real-world datasets.
  • Use pandas to solve several common data representation and analysis problems
  • Collect data from APIs
  • Build Python scripts, modules, and packages for reusable analysis code.
  • Utilize computer science concepts and algorithms to write more efficient code for data analysis
  • Write and run simulations

Table of Contents

Notes on Environment Setup

Environment setup instructions are in the chapter 1 of the text. If you don't have the book, you must install Python 3.6 or higher, set up a virtual environment, activate it, and then install the packages listed in requirements.txt. You can then launch JupyterLab and use the ch_01/checking_your_setup.ipynb Jupyter notebook to check your setup. Consult this resource if you have issues with using your virtual environment in Jupyter.


Each chapter comes with exercises. The solutions for chapters 1-11 can be found here.

About the Author

Stefanie Molin (@stefmolin) is a data scientist and software engineer at Bloomberg L.P. in NYC (and hacker in training) tackling tough problems in Information Security particularly revolving around anomaly detection, building tools for gathering data, and knowledge sharing. She has extensive experience in data science, designing anomaly detection solutions, and utilizing machine learning in both R and Python in the AdTech and FinTech industries. She holds a B.S. in Operations Research from Columbia University’s Fu Foundation School of Engineering and Applied Science with minors in Economics and Entrepreneurship and Innovation.

In her free time, she enjoys traveling the world, inventing new recipes, and learning new languages spoken both among people and computers.


Since the book limited the acknowledgements to 450 characters, the full version is here.

Alternatives To Hands On Data Analysis With Pandas
Select To Compare

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (806,114
Jupyter Notebook (153,976
Machine Learning (37,040
Data Science (10,142
Pandas (6,603
Data Analysis (4,799
Matplotlib (4,027
Anomaly (1,818