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

Python Pandas – DataFrame 객체가 동일한지 확인하는 방법 (equals() 활용)

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를 반환할 수 있으므로 주의가 필요합니다.