Pandas에서 두 개의 DataFrame 객체가 서로 동일한지 확인하려면 equals() 메서드를 사용합니다. 이 메서드는 두 데이터프레임의 형태(shape), 인덱스, 열 이름, 그리고 모든 요소의 값까지 완전히 일치할 때 True를 반환하고, 하나라도 다르면 False를 반환합니다.
DataFrame 생성하기
먼저 'Car'와 'Reg_Price' 두 개의 열을 가진 첫 번째 데이터프레임을 만들어 보겠습니다.
dataFrame1 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
}
)
이어서 동일한 구조와 값을 가진 두 번째 데이터프레임을 생성합니다.
dataFrame2 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
}
)
equals() 메서드로 동일 여부 확인
두 데이터프레임이 같은지 비교할 때는 다음과 같이 equals() 메서드를 호출합니다.
dataFrame1.equals(dataFrame2)
전체 예제 코드
지금까지의 내용을 하나로 합친 전체 코드는 다음과 같습니다.
import pandas as pd
# DataFrame1 생성
dataFrame1 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
}
)
print("DataFrame1 ...\n", dataFrame1)
# DataFrame2 생성
dataFrame2 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
}
)
print("\nDataFrame2 ...\n", dataFrame2)
# 동일 여부 확인
print("\n두 DataFrame 객체는 동일한가요? ", dataFrame1.equals(dataFrame2))
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
DataFrame1 ...
Car Reg_Price
0 BMW 7000
1 Lexus 1500
2 Audi 5000
3 Mustang 8000
4 Bentley 9000
5 Jaguar 6000
DataFrame2 ...
Car Reg_Price
0 BMW 7000
1 Lexus 1500
2 Audi 5000
3 Mustang 8000
4 Bentley 9000
5 Jaguar 6000
두 DataFrame 객체는 동일한가요? True
참고 사항
equals() 메서드는 단순히 값을 비교하는 것 외에도 몇 가지 유용한 특징이 있습니다.
- 인덱스와 열 이름의 순서까지 포함하여 전체 구조를 비교합니다.
- 요소별 비교 연산자(
==)와 달리 NaN(결측값)도 같은 위치에 존재하면 동일한 것으로 간주합니다. - 데이터 타입(dtype)이 다르면 값이 같아도
False를 반환할 수 있으므로 주의가 필요합니다.