Pandas Tutorial Pandas References

Pandas DataFrame - eq() function



The Pandas eq() function compares dataframe and other, element-wise for equal to and returns the comparison result. It is equivalent to dataframe == other, but with support to choose axis (rows or columns) and level for comparison.

Syntax

DataFrame.eq(other, axis='columns', level=None)

Parameters

other Required. Specify any single or multiple element data structure, or list-like object.
axis Optional. Specify whether to compare by the index (0 or 'index') or columns (1 or 'columns').
level Optional. Specify int or label to broadcast across a level, matching Index values on the passed MultiIndex level. Default is None.

Return Value

Returns the result of the comparison.

Example: using eq() on whole DataFrame

In the example below, a DataFrame df is created. The eq() function is used to compare this DataFrame with a given scalar value.

import pandas as pd
import numpy as np

df = pd.DataFrame({
  "Bonus": [5, 3, 2, 4],
  "Salary": [60, 62, 65, 59]},
  index= ["John", "Marry", "Sam", "Jo"]
)

print("The DataFrame is:")
print(df)

#comparing for equal to for all
#entries of the DataFrame by 4
print("\ndf.eq(4) returns:")
print(df.eq(4))

The output of the above code will be:

The DataFrame is:
       Bonus  Salary
John       5      60
Marry      3      62
Sam        2      65
Jo         4      59

df.eq(4) returns:
       Bonus  Salary
John   False   False
Marry  False   False
Sam    False   False
Jo      True   False

Example: Comparing different column with different value

Different column can be compared with different scalar value by providing other argument as a list. Consider the following example:

import pandas as pd
import numpy as np

df = pd.DataFrame({
  "Bonus": [5, 3, 2, 4],
  "Salary": [60, 62, 65, 59]},
  index= ["John", "Marry", "Sam", "Jo"]
)

print("The DataFrame is:")
print(df)

#comparing all entries of Bonus column by 4
#comparing all entries of Salary column by 62
print("\ndf.eq([4,62]) returns:")
print(df.eq([4,62]))

The output of the above code will be:

The DataFrame is:
       Bonus  Salary
John       5      60
Marry      3      62
Sam        2      65
Jo         4      59

df.eq([4,62]) returns:
       Bonus  Salary
John   False   False
Marry  False    True
Sam    False   False
Jo      True   False

Example: using eq() on selected columns

Instead of whole DataFrame, the eq() function can be applied on selected columns. Consider the following example.

import pandas as pd
import numpy as np

df = pd.DataFrame({
  "Bonus": [5, 3, 2, 4],
  "Last Salary": [58, 60, 63, 57],
  "Salary": [60, 62, 65, 59]},
  index= ["John", "Marry", "Sam", "Jo"]
)

print("The DataFrame is:")
print(df)

#comparing all entries of Salary column by 62
print("\ndf['Salary'].eq(62) returns:")
print(df["Salary"].eq(62))

#comparing all entries of Bonus column by 4
#comparing all entries of Salary column by 62
print("\ndf[['Salary', 'Bonus']].eq([62,4]) returns:")
print(df[["Salary", "Bonus"]].eq([62,4]))

The output of the above code will be:

The DataFrame is:
       Bonus  Last Salary  Salary
John       5           58      60
Marry      3           60      62
Sam        2           63      65
Jo         4           57      59

df['Salary'].eq(62) returns:
John     False
Marry     True
Sam      False
Jo       False
Name: Salary, dtype: bool

df[['Salary', 'Bonus']].eq([62,4]) returns:
       Salary  Bonus
John    False  False
Marry    True  False
Sam     False  False
Jo      False   True

Example: using eq() on columns of a DataDrame

The eq() function can be applied in a DataFrame to get the result of comparing for equal to of two series/column element-wise. Consider the following example.

import pandas as pd
import numpy as np

df = pd.DataFrame({
  "col1": [10, 20, 30, 40, 50],
  "col2": [10, 15, 30, 45, 55]
})

print("The DataFrame is:")
print(df)

#calculating 'col1' == 'col2'
df['Result'] = df['col1'].eq(df['col2'])

print("\nThe DataFrame is:")
print(df)

The output of the above code will be:

The DataFrame is:
   col1  col2
0    10    10
1    20    15
2    30    30
3    40    45
4    50    55

The DataFrame is:
   col1  col2  Result
0    10    10    True
1    20    15   False
2    30    30    True
3    40    45   False
4    50    55   False

❮ Pandas DataFrame - Functions