Pandas에서 두 개의 데이터프레임(DataFrame) 간의 차이를 확인하려면 equals() 메서드를 사용해 동등성 여부를 검사하면 됩니다. 데이터프레임 전체뿐만 아니라 특정 열(Column) 단위로도 비교할 수 있습니다.
1. 데이터프레임 생성
먼저 두 개의 열을 가진 첫 번째 데이터프레임을 생성합니다.
import pandas as pd
dataFrame1 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)
같은 구조의 두 번째 데이터프레임도 생성합니다.
dataFrame2 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)
2. 특정 열의 동등성 확인
두 데이터프레임의 'Units' 열이 서로 같은지 비교하려면 다음과 같이 작성합니다.
dataFrame2['Units'].equals(dataFrame1['Units'])
두 열의 값과 순서가 완전히 일치하면 True, 하나라도 다르면 False가 반환됩니다.
3. 데이터프레임 전체 동등성 확인
두 데이터프레임 전체가 동일한지 비교하는 방법은 다음과 같습니다.
dataFrame1.equals(dataFrame2)
equals() 메서드는 인덱스와 열 라벨까지 포함하여 모든 요소가 일치해야 True를 반환합니다.
전체 예제 코드
import pandas as pd
# DataFrame1 생성
dataFrame1 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)
print("DataFrame1 ...\n", dataFrame1)
# DataFrame2 생성
dataFrame2 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)
print("\nDataFrame2 ...\n", dataFrame2)
# 특정 열(Units)의 동등성 확인
print("\n두 데이터프레임의 Units 열이 같은가? ", dataFrame2['Units'].equals(dataFrame1['Units']))
# 데이터프레임 전체 동등성 확인
print("\n두 데이터프레임이 동일한가? ", 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 Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Mustang 80
4 Bentley 110
5 Jaguar 90
두 데이터프레임의 Units 열이 같은가? True
두 데이터프레임이 동일한가? True
이처럼 Pandas의 equals() 메서드를 활용하면 열 단위 또는 데이터프레임 전체의 동등성을 손쉽게 검증할 수 있어, 데이터 정합성 확인 작업에 매우 유용합니다.