Pandas में दो DataFrames की पूर्ण समानता जांचने के लिए equals() विधि का उपयोग किया जाता है। यह विधि केवल मान ही नहीं, बल्कि इंडेक्स, कॉलम नाम, डेटा प्रकार आदि सभी की तुलना करती है।
equals() vs == ऑपरेटर
df1 == df2: तत्व-दर-तत्व तुलना करता है, बूलियन DataFrame लौटाता हैdf1.equals(df2): पूर्ण समानता जांचता है, एकल बूलियन मान (True/False) लौटाता है
उदाहरण: असमान DataFrames
import pandas as pd
# DataFrame1
dataFrame1 = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
})
# DataFrame2 - अलग कॉलम और मान
dataFrame2 = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Mercedes', 'Jaguar'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
})
print("DataFrame1:\n", dataFrame1)
print("\nDataFrame2:\n", dataFrame2)
# पूर्ण समानता जांचें
are_equal = dataFrame1.equals(dataFrame2)
print(f"\nक्या दोनों DataFrames समान हैं? {are_equal}")
# == ऑपरेटर का परिणाम (बूलियन DataFrame)
print("\n== ऑपरेटर का परिणाम:")
print(dataFrame1 == 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
क्या दोनों DataFrames समान हैं? False
== ऑपरेटर का परिणाम:
Car Units Reg_Price
0 True False False
1 True False False
2 True False False
3 True False False
4 False False False
5 True False False
उदाहरण: समान DataFrames
# समान DataFrames बनाएं
df1 = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
})
df2 = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
})
print("df1:\n", df1)
print("\ndf2:\n", df2)
print(f"\nक्या समान हैं? {df1.equals(df2)}") # True
# कॉलम स्तर पर समानता
print(f"'Units' कॉलम समान? {df1['Units'].equals(df2['Units'])}") # True
आउटपुट
df1:
Car Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Mustang 80
4 Bentley 110
5 Jaguar 90
df2:
Car Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Mustang 80
4 Bentley 110
5 Jaguar 90
क्या समान हैं? True
'Units' कॉलम समान? True
महत्वपूर्ण बिंदु
equals()निम्न की तुलना करता है: मान, इंडेक्स, कॉलम, डेटा प्रकार, NaN की स्थिति- दो NaN मानों को
equals()में समान माना जाता है (जबकिNaN == NaNFalse होता है) - कॉलम/इंडेक्स का क्रम मायने रखता है
- केवल विशिष्ट कॉलम की तुलना के लिए:
df1['col'].equals(df2['col'])
समानता जांच के अन्य तरीके
# 1. compare() - अंतर दिखाता है (pandas 1.1+)
diff = df1.compare(df2)
print(diff)
# 2. सभी मान समान हैं? (इंडेक्स/कॉलम नजरअंदाज करके)
import numpy as np
np.array_equal(df1.values, df2.values)
# 3. आकार और मान दोनों समान?
df1.shape == df2.shape and (df1 == df2).all().all()