0%

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
    4. Download the example code files
    5. Download the color images
    6. Conventions used
    7. Sections
    8. Getting ready
    9. How to do it…
    10. How it works…
    11. There's more…
    12. See also
    13. Get in touch
    14. Reviews
  8. Chapter 1: Anticipating Data Cleaning Issues when Importing Tabular Data into pandas
    1. Technical requirements
    2. Importing CSV files
    3. Getting ready
    4. How to do it…
    5. How it works...
    6. There's more...
    7. See also
    8. Importing Excel files
    9. Getting ready
    10. How to do it…
    11. How it works…
    12. There's more…
    13. See also
    14. Importing data from SQL databases
    15. Getting ready
    16. How to do it...
    17. How it works…
    18. There's more…
    19. See also
    20. Importing SPSS, Stata, and SAS data
    21. Getting ready
    22. How to do it...
    23. How it works...
    24. There's more…
    25. See also
    26. Importing R data
    27. Getting ready
    28. How to do it…
    29. How it works…
    30. There's more…
    31. See also
    32. Persisting tabular data
    33. Getting ready
    34. How to do it…
    35. How it works...
    36. 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
    3. Getting ready
    4. How to do it…
    5. How it works…
    6. There's more…
    7. Importing more complicated JSON data from an API
    8. Getting ready
    9. How to do it...
    10. How it works…
    11. There's more…
    12. See also
    13. Importing data from web pages
    14. Getting ready
    15. How to do it…
    16. How it works…
    17. There's more…
    18. Persisting JSON data
    19. Getting ready
    20. How to do it...
    21. How it works…
    22. There's more…
  10. Chapter 3: Taking the Measure of Your Data
    1. Technical requirements
    2. Getting a first look at your data
    3. Getting ready…
    4. How to do it...
    5. How it works…
    6. There's more...
    7. See also
    8. Selecting and organizing columns
    9. Getting ready…
    10. How to do it…
    11. How it works…
    12. There's more…
    13. See also
    14. Selecting rows
    15. Getting ready...
    16. How to do it...
    17. How it works…
    18. There's more…
    19. See also
    20. Generating frequencies for categorical variables
    21. Getting ready…
    22. How to do it…
    23. How it works…
    24. There's more…
    25. Generating summary statistics for continuous variables
    26. Getting ready…
    27. How to do it…
    28. How it works…
    29. See also
  11. Chapter 4: Identifying Missing Values and Outliers in Subsets of Data
    1. Technical requirements
    2. Finding missing values
    3. Getting ready
    4. How to do it…
    5. How it works...
    6. See also
    7. Identifying outliers with one variable
    8. Getting ready
    9. How to do it...
    10. How it works…
    11. There's more…
    12. See also
    13. Identifying outliers and unexpected values in bivariate relationships
    14. Getting ready
    15. How to do it...
    16. How it works…
    17. There's more…
    18. See also
    19. Using subsetting to examine logical inconsistencies in variable relationships
    20. Getting ready
    21. How to do it…
    22. How it works…
    23. See also
    24. Using linear regression to identify data points with significant influence
    25. Getting ready
    26. How to do it…
    27. How it works...
    28. There's more…
    29. Using k-nearest neighbor to find outliers
    30. Getting ready
    31. How to do it…
    32. How it works...
    33. There's more...
    34. See also
    35. Using Isolation Forest to find anomalies
    36. Getting ready
    37. How to do it...
    38. How it works…
    39. There's more…
    40. 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
    3. Getting ready
    4. How to do it…
    5. How it works…
    6. There's more...
    7. Using boxplots to identify outliers for continuous variables
    8. Getting ready
    9. How to do it…
    10. How it works...
    11. There's more...
    12. See also
    13. Using grouped boxplots to uncover unexpected values in a particular group
    14. Getting ready
    15. How to do it...
    16. How it works...
    17. There's more…
    18. See also
    19. Examining both the distribution shape and outliers with violin plots
    20. Getting ready
    21. How to do it…
    22. How it works…
    23. There's more…
    24. See also
    25. Using scatter plots to view bivariate relationships
    26. Getting ready
    27. How to do it...
    28. How it works…
    29. There's more...
    30. See also
    31. Using line plots to examine trends in continuous variables
    32. Getting ready
    33. How to do it…
    34. How it works...
    35. There's more…
    36. See also
    37. Generating a heat map based on a correlation matrix
    38. Getting ready
    39. How to do it…
    40. How it works…
    41. There's more…
    42. See also
  13. Chapter 6: Cleaning and Exploring Data with Series Operations
    1. Technical requirements
    2. Getting values from a pandas series
    3. Getting ready
    4. How to do it…
    5. How it works...
    6. Showing summary statistics for a pandas series
    7. Getting ready
    8. How to do it...
    9. How it works…
    10. There's more…
    11. See also
    12. Changing series values
    13. Getting ready
    14. How to do it…
    15. How it works…
    16. There's more…
    17. See also
    18. Changing series values conditionally
    19. Getting ready
    20. How to do it…
    21. How it works…
    22. There's more…
    23. See also
    24. Evaluating and cleaning string series data
    25. Getting ready
    26. How to do it...
    27. How it works...
    28. There's more…
    29. Working with dates
    30. Getting ready
    31. How to do it…
    32. How it works…
    33. See also
    34. Identifying and cleaning missing data
    35. Getting ready
    36. How to do it…
    37. How it works…
    38. There's more...
    39. See also
    40. Missing value imputation with K-nearest neighbor
    41. Getting ready
    42. How to do it…
    43. How it works…
    44. There's more...
    45. See also
  14. Chapter 7: Fixing Messy Data when Aggregating
    1. Technical requirements
    2. Looping through data with itertuples (an anti-pattern)
    3. Getting ready
    4. How to do it…
    5. How it works...
    6. There's more...
    7. Calculating summaries by group with NumPy arrays
    8. Getting ready
    9. How to do it…
    10. How it works…
    11. There's more…
    12. See also
    13. Using groupby to organize data by groups
    14. Getting ready
    15. How to do it…
    16. How it works...
    17. There's more...
    18. Using more complicated aggregation functions with groupby
    19. Getting ready
    20. How to do it…
    21. How it works…
    22. There's more…
    23. See also
    24. Using user-defined functions and apply with groupby
    25. Getting ready
    26. How to do it…
    27. How it works...
    28. There's more...
    29. See also
    30. Using groupby to change the unit of analysis of a DataFrame
    31. Getting ready
    32. How to do it...
    33. How it works…
  15. Chapter 8: Addressing Data Issues When Combining DataFrames
    1. Technical requirements
    2. Combining DataFrames vertically
    3. Getting ready
    4. How to do it…
    5. How it works...
    6. See also
    7. Doing one-to-one merges
    8. Getting ready
    9. How to do it...
    10. How it works...
    11. There's more...
    12. Using multiple merge-by columns
    13. Getting ready
    14. How to do it...
    15. How it works...
    16. There's more...
    17. Doing one-to-many merges
    18. Getting ready
    19. How to do it…
    20. How it works...
    21. There's more…
    22. See also
    23. Doing many-to-many merges
    24. Getting ready
    25. How to do it...
    26. How it works...
    27. There's more...
    28. Developing a merge routine
    29. Getting ready
    30. How to do it…
    31. How it works...
    32. See also
  16. Chapter 9: Tidying and Reshaping Data
    1. Technical requirements
    2. Removing duplicated rows
    3. Getting ready...
    4. How to do it…
    5. How it works...
    6. There's more...
    7. See also...
    8. Fixing many-to-many relationships
    9. Getting ready...
    10. How to do it…
    11. How it works...
    12. There's more...
    13. See also...
    14. Using stack and melt to reshape data from wide to long format
    15. Getting ready...
    16. How to do it…
    17. How it works...
    18. Melting multiple groups of columns
    19. Getting ready...
    20. How to do it…
    21. How it works...
    22. There's more...
    23. Using unstack and pivot to reshape data from long to wide
    24. Getting ready...
    25. How to do it…
    26. 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
    3. Getting ready...
    4. How to do it...
    5. How it works...
    6. There's more...
    7. Functions for displaying summary statistics and frequencies
    8. Getting ready
    9. How to do it...
    10. How it works...
    11. There's more...
    12. See also...
    13. Functions for identifying outliers and unexpected values
    14. Getting ready
    15. How to do it...
    16. How it works...
    17. There's more...
    18. See also
    19. Functions for aggregating or combining data
    20. Getting ready
    21. How to do it...
    22. How it works...
    23. There's more...
    24. See also
    25. Classes that contain the logic for updating series values
    26. Getting ready
    27. How to do it...
    28. How it works...
    29. There's more...
    30. See also
    31. Classes that handle non-tabular data structures
    32. Getting ready
    33. How to do it...
    34. How it works...
    35. There's more...
  18. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think
18.119.131.178