Pandas: 두 dataframe이 동일한지 확인하는 방법


다음 기본 구문을 사용하여 두 팬더 DataFrame이 동일한지 확인할 수 있습니다.

 df1. equals (df2)

그러면 True 또는 False 값이 반환됩니다.

두 DataFrame이 동일하지 않은 경우 다음 구문을 사용하여 첫 번째 DataFrame에 존재하지 않는 두 번째 DataFrame의 행을 찾을 수 있습니다.

 #perform outer join on two DataFrames
all_df = df1. merge (df2, indicator= True , how=' outer ')

#find which rows only exist in second DataFrame
only_df2 = all_df[all_df[' _merge '] == ' right_only ']
only_df2 = only_df2. drop (' _merge ', axis= 1 )

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: 두 개의 Pandas DataFrame이 동일한지 확인

다음 두 개의 팬더 DataFrame이 있다고 가정해 보겠습니다.

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E'], 
                    ' points ': [12, 15, 22, 29, 24]}) 

print (df1)

  team points
0 to 12
1 B 15
2 C 22
3 D 29
4 E 24

#create second DataFrame
df2 = pd. DataFrame ({' team ': ['A', 'D', 'F', 'G', 'H'],
                    ' points ': [12, 29, 15, 19, 10]})

print (df2)

  team points
0 to 12
1 D 29
2 F 15
3 G 19
4:10 a.m.

다음 구문을 사용하여 두 DataFrame이 동일한지 확인할 수 있습니다.

 #check if two DataFrames are equal
df1. equals (df2)

False

출력은 False 를 반환합니다. 이는 두 DataFrame이 동일하지 않음을 의미합니다.

그런 다음 다음 구문을 사용하여 두 번째 DataFrame에는 있지만 첫 번째 DataFrame에는 없는 행을 찾을 수 있습니다.

 #perform outer join on two DataFrames
all_df = df1. merge (df2, indicator= True , how=' outer ')

#find which rows only exist in second DataFrame
only_df2 = all_df[all_df[' _merge '] == ' right_only ']
only_df2 = only_df2. drop (' _merge ', axis= 1 )

#view results
print (only_df2)

  team points
5 F 15
6 G 19
7:10 a.m.

결과에서 첫 번째 DataFrame에는 존재하지 않는 두 번째 DataFrame에는 세 개의 행이 있음을 알 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas: 한 DataFrame의 열을 다른 DataFrame에 추가
Pandas: 다른 DataFrame에 없는 행 가져오기
Pandas:여러 열이 같은지 확인하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다