IllyaUA / lab-cleaning-numerical-data

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

logo_ironhack_blue 7

Lab | Cleaning numerical data

For this lab, we will be using the dataset in the Customer Analysis Business Case. This dataset can be found in files_for_lab folder.

Context

An auto insurance company has collected some data about its customers including their demographics, education, employment, policy details, vehicle information on which insurance policy, and claim amounts. You will help the senior management with some business questions that will help them to better understand their customers, improve their services, and improve profitability.

Some business Objectives:

  • Retain customers,
  • Analyze relevant customer data,
  • Develop focused customer retention programs.

Based on the analysis, take targeted actions to increase profitable customer response, retention, and growth.

Instructions

  1. Import the necessary libraries.
  2. Load the customer_value_analysis.csv into the variable customer_df.
  3. First look at its main features (head, shape, info).
  4. Rename the columns so they follow the PE8 (snake case: lowecase_with_underscores).
  5. Change the type of effective_to_date column to DateTime format.
  6. Check NaN values per column.
  7. Define a function that given an input dataframe, returns two dataframes: one with numerical columns and another with categorical columns of the input dataframe.
  8. Drop any ID column.
  9. Get the correlation matrix for the numerical variables. What is the pair of numerical variables that have the highest correlation? It makes sense, why?
  10. Define a function that takes a pandas DataFrame as an input and returns two pandas DataFrames: the first containing numerical continuous columns and the second containing numerical discrete columns of the input dataframe. To this end, it might be helpful to count the number of unique values. The function must have an optional argument set by default to 36 to discriminate between continuous and discrete columns. Then, use it to create two new dataframes: continuous_df and discrete_df.
  11. Create a function to create a barplot for all the columns of the discrete_df using seaborn, and set the figuresize = (16,16).
  12. Create a function to create a histogram for all the columns of the continuous_df using seaborn, and set the figuresize = (16,16)
  13. According to the previous histogram plots, do you think that you will have to apply any transformation?
  14. Look for outliers in the continuous variables that you have found. Hint: There was a good plot to do that. Define a function to create this kind of plot for the continuous_df.

About


Languages

Language:Jupyter Notebook 100.0%