Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas – 두 데이터프레임의 차이점 찾는 방법

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() 메서드를 활용하면 열 단위 또는 데이터프레임 전체의 동등성을 손쉽게 검증할 수 있어, 데이터 정합성 확인 작업에 매우 유용합니다.