Home Python C Language C ++ HTML 5 CSS Javascript Java Kotlin SQL DJango Bootstrap React.js R C# PHP ASP.Net Numpy Dart Pandas Digital Marketing

Data Wrangling and Cleaning Techniques in Python


Data wrangling and cleaning are essential steps in data analysis and machine learning projects. The process involves transforming raw data into a format that is suitable for analysis. In Python, libraries such as Pandas and NumPy provide a variety of tools to make this process easier. In this article, we will explore common data wrangling and cleaning techniques using Python.

Loading Data

The first step in any data cleaning process is loading the data. You can load data from various formats like CSV, Excel, or databases using Pandas.

Example: Loading Data from CSV

    import pandas as pd

    # Load data from CSV
    df = pd.read_csv('data.csv')

    # Display first few rows of the dataframe
    print(df.head())
        

In this example, we load data from a CSV file into a Pandas DataFrame and display the first few rows using head().

Handling Missing Data

Missing data is common in real-world datasets, and handling it properly is crucial for accurate analysis. Pandas provides several methods to detect and handle missing data.

Example: Detecting Missing Values

    # Check for missing values
    missing_data = df.isnull().sum()
    print(missing_data)
        

Here, we use isnull() to identify missing values in the dataset and sum() to count the number of missing values per column.

Example: Dropping Missing Values

    # Drop rows with missing values
    df_cleaned = df.dropna()

    # Drop columns with missing values
    df_cleaned_cols = df.dropna(axis=1)
        

We can drop rows or columns containing missing values using the dropna() method. In this case, we drop rows with any missing values and then drop columns with missing values.

Example: Filling Missing Values

    # Fill missing values with a specific value
    df_filled = df.fillna(0)

    # Fill missing values with the mean of the column
    df_filled_mean = df.fillna(df.mean())
        

Another option is to fill the missing values using a specific value, like 0, or by using statistical methods like filling with the mean of the column.

Removing Duplicates

Duplicate data can occur in datasets, which can lead to inaccurate analysis. Pandas provides an easy way to detect and remove duplicate rows.

Example: Removing Duplicates

    # Remove duplicate rows
    df_no_duplicates = df.drop_duplicates()

    # Remove duplicate rows based on specific columns
    df_no_duplicates_columns = df.drop_duplicates(subset=['column_name'])
        

We use the drop_duplicates() method to remove duplicate rows. You can also specify columns to check for duplicates.

Data Transformation

Data transformation involves changing the format or structure of the data to make it more useful for analysis. This may include changing data types, creating new columns, or modifying values.

Example: Changing Data Types

    # Convert a column to numeric
    df['column_name'] = pd.to_numeric(df['column_name'], errors='coerce')

    # Convert a column to categorical
    df['category_column'] = df['category_column'].astype('category')
        

In this example, we use to_numeric() to convert a column to a numeric type and astype() to convert a column to a categorical type.

Example: Creating New Columns

    # Create a new column based on existing columns
    df['new_column'] = df['column1'] + df['column2']
        

You can also create new columns by performing operations on existing columns. In this case, we add the values from column1 and column2 to create a new column.

Data Filtering and Sorting

Data filtering and sorting help you work with specific subsets of your data. You can filter data based on certain conditions and sort it by different criteria.

Example: Filtering Data

    # Filter rows based on a condition
    filtered_data = df[df['column_name'] > 50]
        

This example shows how to filter rows where the values in column_name are greater than 50.

Example: Sorting Data

    # Sort data by a specific column
    sorted_data = df.sort_values(by='column_name', ascending=False)
        

Here, we use the sort_values() method to sort the data by column_name in descending order.

Handling Categorical Data

Working with categorical data is common in data analysis. Pandas provides tools to handle categorical variables effectively.

Example: Converting Categorical Data to Numeric

    # Convert categorical data to numeric codes
    df['category_code'] = df['category_column'].astype('category').cat.codes
        

In this example, we convert a categorical column into numeric codes using the cat.codes attribute.

Example: One-Hot Encoding

    # One-Hot Encoding
    df_encoded = pd.get_dummies(df['category_column'])
        

One-hot encoding is another technique to convert categorical data into a format suitable for machine learning. The get_dummies() function performs this transformation.

Conclusion

Data wrangling and cleaning are critical steps in the data analysis process. Python, with the help of libraries like Pandas and NumPy, provides a wide range of tools for handling missing data, removing duplicates, transforming data, and more. By mastering these techniques, you can ensure that your data is clean, well-structured, and ready for analysis or modeling.



Advertisement





Q3 Schools : India


Online Complier

HTML 5

Python

java

C++

C

JavaScript

Website Development

HTML

CSS

JavaScript

Python

SQL

Campus Learning

C

C#

java