Python Pandas – Check if two Dataframes are exactly same

The equals() method is used to check if two DataFrames are exactly the same. It compares both the structure and content of DataFrames, including data types, column names, and index values.

Syntax

DataFrame.equals(other)

Parameters:

  • other − Another DataFrame to compare with

Returns: True if DataFrames are identical, False otherwise

Example 1: Different DataFrames

Let us create two different DataFrames and check if they are equal −

import pandas as pd

# Create DataFrame1
dataFrame1 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
    "Units": [100, 150, 110, 80, 110, 90]
})

print("DataFrame1:")
print(dataFrame1)

# Create DataFrame2 with different columns
dataFrame2 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Mercedes', 'Jaguar'],
    "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
})

print("\nDataFrame2:")
print(dataFrame2)

# Check for equality
print("\nAre both DataFrames equal?", dataFrame1.equals(dataFrame2))
DataFrame1:
       Car  Units
0      BMW    100
1    Lexus    150
2     Audi    110
3  Mustang     80
4  Bentley    110
5   Jaguar     90

DataFrame2:
       Car  Reg_Price
0      BMW       7000
1    Lexus       1500
2     Audi       5000
3  Mustang       8000
4 Mercedes       9000
5   Jaguar       6000

Are both DataFrames equal? False

Example 2: Identical DataFrames

Now let us create two identical DataFrames −

import pandas as pd

# Create DataFrame1
df1 = pd.DataFrame({
    "Name": ['Alice', 'Bob', 'Charlie'],
    "Age": [25, 30, 35],
    "City": ['New York', 'London', 'Tokyo']
})

# Create identical DataFrame2
df2 = pd.DataFrame({
    "Name": ['Alice', 'Bob', 'Charlie'],
    "Age": [25, 30, 35],
    "City": ['New York', 'London', 'Tokyo']
})

print("DataFrame 1:")
print(df1)
print("\nDataFrame 2:")
print(df2)
print("\nAre DataFrames equal?", df1.equals(df2))
DataFrame 1:
      Name  Age      City
0    Alice   25  New York
1      Bob   30    London
2  Charlie   35     Tokyo

DataFrame 2:
      Name  Age      City
0    Alice   25  New York
1      Bob   30    London
2  Charlie   35     Tokyo

Are DataFrames equal? True

Key Points

  • equals() checks column names, data types, index, and values
  • DataFrames with same data but different column order return False
  • NaN values are considered equal if they appear in the same positions
  • Index labels must also match for DataFrames to be considered equal

Conclusion

Use equals() to check if two DataFrames are exactly identical in structure and content. This method is stricter than element-wise comparison and requires perfect matching of all DataFrame attributes.

Updated on: 2026-03-26T01:54:45+05:30

791 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements