Python Data Cleaning Cookbook

Book description

Discover how to describe your data in detail, identify data issues, and find out how to solve them using commonly used techniques and tips and tricks

Key Features

  • Get well-versed with various data cleaning techniques to reveal key insights
  • Manipulate data of different complexities to shape them into the right form as per your business needs
  • Clean, monitor, and validate large data volumes to diagnose problems before moving on to data analysis

Book Description

Getting clean data to reveal insights is essential, as directly jumping into data analysis without proper data cleaning may lead to incorrect results. This book shows you tools and techniques that you can apply to clean and handle data with Python. You'll begin by getting familiar with the shape of data by using practices that can be deployed routinely with most data sources. Then, the book teaches you how to manipulate data to get it into a useful form. You'll also learn how to filter and summarize data to gain insights and better understand what makes sense and what does not, along with discovering how to operate on data to address the issues you've identified. Moving on, you'll perform key tasks, such as handling missing values, validating errors, removing duplicate data, monitoring high volumes of data, and handling outliers and invalid dates. Next, you'll cover recipes on using supervised learning and Naive Bayes analysis to identify unexpected values and classification errors, and generate visualizations for exploratory data analysis (EDA) to visualize unexpected values. Finally, you'll build functions and classes that you can reuse without modification when you have new data.

By the end of this Python book, you'll be equipped with all the key skills that you need to clean data and diagnose problems within it.

What you will learn

  • Find out how to read and analyze data from a variety of sources
  • Produce summaries of the attributes of data frames, columns, and rows
  • Filter data and select columns of interest that satisfy given criteria
  • Address messy data issues, including working with dates and missing values
  • Improve your productivity in Python pandas by using method chaining
  • Use visualizations to gain additional insights and identify potential data issues
  • Enhance your ability to learn what is going on in your data
  • Build user-defined functions and classes to automate data cleaning

Who this book is for

This book is for anyone looking for ways to handle messy, duplicate, and poor data using different Python tools and techniques. The book takes a recipe-based approach to help you to learn how to clean and manage data. Working knowledge of Python programming is all you need to get the most out of the book.

Table of contents

  1. Python Data Cleaning Cookbook
  2. Why subscribe?
  3. Contributors
  4. About the author
  5. About the reviewers
  6. Packt is searching for authors like you
  7. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
    4. Download the color images
    5. Conventions used
    6. Sections
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
      5. See also
    7. Get in touch
    8. Reviews
  8. Chapter 1: Anticipating Data Cleaning Issues when Importing Tabular Data into pandas
    1. Technical requirements
    2. Importing CSV files
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. There's more...
      5. See also
    3. Importing Excel files
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
      5. See also
    4. Importing data from SQL databases
      1. Getting ready
      2. How to do it...
      3. How it works…
      4. There's more…
      5. See also
    5. Importing SPSS, Stata, and SAS data
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more…
      5. See also
    6. Importing R data
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
      5. See also
    7. Persisting tabular data
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. There's more...
  9. Chapter 2: Anticipating Data Cleaning Issues when Importing HTML and JSON into pandas
    1. Technical requirements
    2. Importing simple JSON data
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
    3. Importing more complicated JSON data from an API
      1. Getting ready
      2. How to do it...
      3. How it works…
      4. There's more…
      5. See also
    4. Importing data from web pages
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
    5. Persisting JSON data
      1. Getting ready
      2. How to do it...
      3. How it works…
      4. There's more…
  10. Chapter 3: Taking the Measure of Your Data
    1. Technical requirements
    2. Getting a first look at your data
      1. Getting ready…
      2. How to do it...
      3. How it works…
      4. There's more...
      5. See also
    3. Selecting and organizing columns
      1. Getting ready…
      2. How to do it…
      3. How it works…
      4. There's more…
      5. See also
    4. Selecting rows
      1. Getting ready...
      2. How to do it...
      3. How it works…
      4. There's more…
      5. See also
    5. Generating frequencies for categorical variables
      1. Getting ready…
      2. How to do it…
      3. How it works…
      4. There's more…
    6. Generating summary statistics for continuous variables
      1. Getting ready…
      2. How to do it…
      3. How it works…
      4. See also
  11. Chapter 4: Identifying Missing Values and Outliers in Subsets of Data
    1. Technical requirements
    2. Finding missing values
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. See also
    3. Identifying outliers with one variable
      1. Getting ready
      2. How to do it...
      3. How it works…
      4. There's more…
      5. See also
    4. Identifying outliers and unexpected values in bivariate relationships
      1. Getting ready
      2. How to do it...
      3. How it works…
      4. There's more…
      5. See also
    5. Using subsetting to examine logical inconsistencies in variable relationships
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. See also
    6. Using linear regression to identify data points with significant influence
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. There's more…
    7. Using k-nearest neighbor to find outliers
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. There's more...
      5. See also
    8. Using Isolation Forest to find anomalies
      1. Getting ready
      2. How to do it...
      3. How it works…
      4. There's more…
      5. See also
  12. Chapter 5: Using Visualizations for the Identification of Unexpected Values
    1. Technical requirements
    2. Using histograms to examine the distribution of continuous variables
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more...
    3. Using boxplots to identify outliers for continuous variables
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. There's more...
      5. See also
    4. Using grouped boxplots to uncover unexpected values in a particular group
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more…
      5. See also
    5. Examining both the distribution shape and outliers with violin plots
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
      5. See also
    6. Using scatter plots to view bivariate relationships
      1. Getting ready
      2. How to do it...
      3. How it works…
      4. There's more...
      5. See also
    7. Using line plots to examine trends in continuous variables
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. There's more…
      5. See also
    8. Generating a heat map based on a correlation matrix
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
      5. See also
  13. Chapter 6: Cleaning and Exploring Data with Series Operations
    1. Technical requirements
    2. Getting values from a pandas series
      1. Getting ready
      2. How to do it…
      3. How it works...
    3. Showing summary statistics for a pandas series
      1. Getting ready
      2. How to do it...
      3. How it works…
      4. There's more…
      5. See also
    4. Changing series values
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
      5. See also
    5. Changing series values conditionally
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
      5. See also
    6. Evaluating and cleaning string series data
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more…
    7. Working with dates
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. See also
    8. Identifying and cleaning missing data
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more...
      5. See also
    9. Missing value imputation with K-nearest neighbor
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more...
      5. See also
  14. Chapter 7: Fixing Messy Data when Aggregating
    1. Technical requirements
    2. Looping through data with itertuples (an anti-pattern)
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. There's more...
    3. Calculating summaries by group with NumPy arrays
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
      5. See also
    4. Using groupby to organize data by groups
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. There's more...
    5. Using more complicated aggregation functions with groupby
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
      5. See also
    6. Using user-defined functions and apply with groupby
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. There's more...
      5. See also
    7. Using groupby to change the unit of analysis of a DataFrame
      1. Getting ready
      2. How to do it...
      3. How it works…
  15. Chapter 8: Addressing Data Issues When Combining DataFrames
    1. Technical requirements
    2. Combining DataFrames vertically
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. See also
    3. Doing one-to-one merges
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
    4. Using multiple merge-by columns
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
    5. Doing one-to-many merges
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. There's more…
      5. See also
    6. Doing many-to-many merges
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
    7. Developing a merge routine
      1. Getting ready
      2. How to do it…
      3. How it works...
      4. See also
  16. Chapter 9: Tidying and Reshaping Data
    1. Technical requirements
    2. Removing duplicated rows
      1. Getting ready...
      2. How to do it…
      3. How it works...
      4. There's more...
      5. See also...
    3. Fixing many-to-many relationships
      1. Getting ready...
      2. How to do it…
      3. How it works...
      4. There's more...
      5. See also...
    4. Using stack and melt to reshape data from wide to long format
      1. Getting ready...
      2. How to do it…
      3. How it works...
    5. Melting multiple groups of columns
      1. Getting ready...
      2. How to do it…
      3. How it works...
      4. There's more...
    6. Using unstack and pivot to reshape data from long to wide
      1. Getting ready...
      2. How to do it…
      3. How it works...
  17. Chapter 10: User-Defined Functions and Classes to Automate Data Cleaning
    1. Technical requirements
    2. Functions for getting a first look at our data
      1. Getting ready...
      2. How to do it...
      3. How it works...
      4. There's more...
    3. Functions for displaying summary statistics and frequencies
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also...
    4. Functions for identifying outliers and unexpected values
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    5. Functions for aggregating or combining data
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    6. Classes that contain the logic for updating series values
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
      5. See also
    7. Classes that handle non-tabular data structures
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
  18. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think

Product information

  • Title: Python Data Cleaning Cookbook
  • Author(s): Michael Walker
  • Release date: December 2020
  • Publisher(s): Packt Publishing
  • ISBN: 9781800565661