[파이썬] pandas에서 데이터 비교 (compare)

데이터 비교는 데이터 분석과 처리 시 자주 사용되는 기능 중 하나입니다. 특히, 데이터 세트의 특성을 이해하고, 다른 데이터와의 관계를 확인하거나, 데이터의 일치성을 검사할 때 매우 유용합니다.

파이썬의 데이터 분석 라이브러리인 pandas는 데이터 비교를 위한 다양한 기능을 제공합니다. 이번 블로그 포스트에서는 pandas를 사용하여 데이터를 비교하는 방법을 알아보겠습니다.

DataFrame에서의 데이터 비교

pandas의 주요 데이터 구조인 DataFrame에서 데이터를 비교하는 것은 간단하고 효율적입니다.

1. 일치하는 값 비교

DataFrame의 두 열 or 행 간에 값이 일치하는지 비교하려면, == 연산자를 사용합니다.

import pandas as pd

# 데이터 프레임 생성
data = {'Name': ['John', 'Anna', 'Peter'],
        'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 'Name' 열의 값이 'John'인 행 찾기
matching_rows = df[df['Name'] == 'John']

2. 동등성 비교

두 개의 DataFrame을 비교하여 동등성을 확인하려면, equals() 메서드를 사용합니다.

import pandas as pd

# 두 개의 데이터 프레임 생성
data1 = {'Name': ['John', 'Anna', 'Peter'],
         'Age': [25, 30, 35]}
df1 = pd.DataFrame(data1)

data2 = {'Name': ['John', 'Anna', 'Peter'],
         'Age': [25, 30, 35]}
df2 = pd.DataFrame(data2)

# 두 데이터 프레임 비교
is_equal = df1.equals(df2)

Series에서의 데이터 비교

Series는 pandas의 다른 주요 데이터 구조입니다. Series에서도 데이터를 비교하는 방법은 DataFrame과 유사합니다.

1. 일치하는 값 비교

Series의 두 값이 일치하는지 비교하려면, == 연산자를 사용합니다.

import pandas as pd

# Series 생성
s = pd.Series([1, 2, 3, 4, 5])

# 값이 3인 원소 찾기
matching_values = s[s == 3]

2. 동등성 비교

두 개의 Series를 비교하여 동등성 여부를 확인하려면, equals() 메서드를 사용합니다.

import pandas as pd

# 두 개의 시리즈 생성
s1 = pd.Series([1, 2, 3, 4, 5])
s2 = pd.Series([1, 2, 3, 4, 5])

# 두 시리즈 비교
is_equal = s1.equals(s2)

이렇게 pandas를 사용하여 DataFrame과 Series에서 데이터를 비교하는 방법을 알아보았습니다. 데이터 비교는 데이터 분석 작업에서 불일치를 찾고, 관계를 파악하는 데 매우 유용한 도구입니다. pandas의 강력한 기능을 통해 데이터 비교를 원활하게 수행할 수 있습니다.