What is corrwith function in Pandas?

The corrwith function in Pandas computes pair-wise correlations between rows and columns of a dataframe with rows and columns of a series or dataframe. Rows and columns of the dataframe and the other object are first matched before computing the correlations.

Correlation matrix

A correlation matrix shows the degree of the linear relationship between variables in a dataset. It indicates the correlation using the correlation coefficient.

The correlation coefficient shows how strongly or weakly any two variables are related. Scores range between 1 and -1. 1 indicates a perfect positive correlation, whereas -1 indicates a perfect negative correlation. Scores closer to 0 indicate a weak correlation.

Syntax

The syntax of the corrwith function is as follows:

DataFrame.corrwith(other, axis=0, drop=False, method='pearson')

Parameters

The corrwith functions require at least one parameter: other. The rest are optional.

The table below describes the parameters of the corrwith function:

Parameters Description
other Refers to a series or a dataframe. It is the object with which a correlation is computed.
axis The axis to be used. 0 refers to column-wise computation. 1 refers to row-wise. Bu default, it is 0.
drop Used to drop missing indices from the result. Takes a bool value. By default, it is False.
method The method to use for computing correlation. Can be pearson, kendall, spearman or callable

Methods of computing correlations.

There are three main methods of computing correlations:

  • Pearson: standard correlation coefficient
  • Kendall: Kendall Tau correlation coefficient
  • Spearman: Spearman rank correlation

callable refers to inputting two one-dimensional arrays and returning a float.

Return value

The corrwith function returns a matrix with pairwise correlations.

Example

The code snippet below shows how the corrwith function can be used in Pandas:

import pandas as pd # for creating a dataframe
# Data for matrix
data = {'A': [45,37,42,35,39],
'B': [38,31,26,28,33],
'C': [10,15,17,21,12]
}
df = pd.DataFrame(data,columns=['A','B','C'])
print("Original dataframe")
print(df) # original df
print("\n")
corrMatrix = df.corrwith(df["B"]) # finding correlations
print("Between column B and the rest of the dataframe")
print("Correlation Coefficients Matrix")
print(corrMatrix) # printing correlations
print('\n')
corrMatrix = df.corrwith(df["C"]) # finding correlations
print("Between column C and the rest of the dataframe")
print("Correlation Coefficients Matrix")
print(corrMatrix) # printing correlations
print('\n')
corrMatrix = df.corrwith(df["C"]) # finding correlations
print("Between column C and the rest of the dataframe")
print("Correlation Coefficients Matrix")
print(corrMatrix) # printing correlations

Free Resources

Copyright ©2025 Educative, Inc. All rights reserved