~ 4 min read

Using Pandas' corr() Function for Calculating Column Correlation.

By: Adam Richardson
Share:

Introduction to the corr() function

The corr() function in Pandas is used to calculate the correlation between two columns in a DataFrame. To use it, simply call the function on the DataFrame and pass in the two column names as arguments. For example,

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
correlation = df['A'].corr(df['B'])

print(correlation)

This will calculate the correlation between columns β€˜A’ and β€˜B’ in the DataFrame df. The output will be a float value between -1 and 1, with -1 indicating a perfect negative correlation, 0 indicating no correlation, and 1 indicating a perfect positive correlation.

The corr() function is extremely useful for understanding relationships between columns in a dataset. For example, it can be used to determine whether a certain feature is strongly correlated with the target variable in a machine learning dataset. This can help the developer decide which features to include or exclude from the model.

Calculating correlation between two columns

To calculate the correlation between two columns in Pandas, we use the corr() function. The function is called on the DataFrame and can be passed either two column names as strings or two column vectors. Here is an example of how to do it:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
correlation = df['A'].corr(df['B'])

print(correlation)

In this example, we create a DataFrame with columns β€˜A’, β€˜B’, and β€˜C’. We then calculate the correlation between columns β€˜A’ and β€˜B’ using the corr() function. The output will be a float value between -1 and 1, where -1 represents a perfect negative correlation, 0 represents no correlation, and 1 represents a perfect positive correlation.

This function can be especially useful when working with large datasets, as it allows the developer to quickly understand the relationship between two columns. For instance, if you are working on a project to analyze sales data for a company, and you want to know if there is a correlation between the price of a product and its sales, you can use the corr() function to quickly find out. Simply pass the column names to the function and it will return the correlation coefficient for those columns.

Examples of using corr() function in Pandas

Let’s take a look at some examples of how to use the corr() function in Pandas.

Example 1: Correlating multiple columns in a DataFrame

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
correlation = df[['A', 'B', 'C']].corr()

print(correlation)

In this example, we create a DataFrame with columns β€˜A’, β€˜B’, and β€˜C’. We then pass a list of column names to the corr() function. This will calculate the correlation matrix for these columns, meaning it will calculate the correlation between each pair of columns.

Example 2: Finding the most correlated column to a target variable

import pandas as pd

df = pd.read_csv('some_data.csv')
correlations = df.corr()['target_variable'].drop(['target_variable']).sort_values(ascending=False)

print(correlations)

In this example, we use the corr() function to find the correlation between all columns in the DataFrame and a target variable. We first use the corr() function on the DataFrame to compute the correlation matrix, then we extract the correlations for the target variable by accessing its column in the correlation matrix. Finally, we sort the correlations in descending order to find the most highly correlated features with the target variable.

Example 3: Custom correlation function

import pandas as pd
import numpy as np

def custom_correlation(x, y):
    return np.cov(x, y)[0][1] / (np.std(x) * np.std(y))

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
correlation = df[['A', 'B']].corr(method=custom_correlation)

print(correlation)

In this example, we define a custom correlation function that calculates the correlation between two columns in a DataFrame. We then pass this function to the corr() function using the method parameter. Here, we calculate the correlation between columns β€˜A’ and β€˜B’ in the DataFrame df using our custom function.

Summary

In summary, the corr() function in Pandas is a powerful tool for understanding the correlation between two or more columns in a DataFrame. It’s relatively easy to use and can provide quick insights into the relationships between different data points. By using corr(), you should be able to get a better understanding of your data and use that knowledge to make better informed decisions. If you’re working with large datasets and need to quickly analyze correlations between variables, then the corr() function is one of the best tools that you can use.

Share:
Subscribe to our newsletter

Stay up to date with our latest content - No spam!

Related Posts