Если нужно быстро найти дубликаты, но сразу увидеть, *чем* именно строки отличаются — используй сравнение через groupby + nunique.
Это позволяет ловить «почти одинаковые» строки без сложных проверок.
import pandas as pd
df = pd.DataFrame({
"name": ["Tom", "Tom", "Alice", "Alice"],
"age": [25, 25, 30, 31],
"city": ["NY", "NY", "LA", "LA"]
})
diff = (df
.groupby("name")
.nunique()
.reset_index())
print(diff)
# Показывает, какие поля у одинаковых ключей различаются