Book Image

Hands-On Data Analysis with Pandas

By : Stefanie Molin
Book Image

Hands-On Data Analysis with Pandas

By: Stefanie Molin

Overview of this book

Data analysis has become a necessary 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 be able 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 analyses across multiple datasets.
Table of Contents (21 chapters)
Free Chapter
1
Section 1: Getting Started with Pandas
4
Section 2: Using Pandas for Data Analysis
9
Section 3: Applications - Real-World Analyses Using Pandas
12
Section 4: Introduction to Machine Learning with Scikit-Learn
16
Section 5: Additional Resources
18
Solutions

Supervised methods

With our additional data, we should revisit our EDA to make sure our plan of looking at the number of usernames with failures on a minute resolution does separate the data. After some data wrangling in the 3-EDA_labeled_data.ipynb notebook, we are able to create the following scatter plot, which shows that this strategy does indeed appear to separate the suspicious activity:

In the 4-supervised_anomaly_detection.ipynb notebook, we will create some supervised models. Before we build our models, however, let's create a new function that will create both X and y at the same time. The get_X_y() function will use the get_X() and get_y() functions we made earlier, returning both X and y:

def get_X_y(log, day, hackers):
"""
Get the X, y data to build a model with.

Parameters:
- log: The logs dataframe
- day: A day or single...