내가 공부한 것들
[파이썬] 판다스 두 개의 열 또는 데이터프레임이 같은지 확인하는 법
2ns
2024. 1. 18. 18:14
1. 두 개의 열이 같은지 확인하는 방법
- A 데이터프레임의 특정 열 a와 B 데이터프레임 특정 열 b가 서로 같은지 확인
import pandas as pd
# 예시 데이터 프레임 생성
df_A = pd.DataFrame({'a': [1, 2, 3], 'x': ['a', 'b', 'c']})
df_B = pd.DataFrame({'b': [3, 2, 1], 'y': ['d', 'e', 'f']})
# df_A의 'a'열과 df_B의 'b'열 비교
df_A['a'].equals(df_B['b'])
데이터프레임 A의 a열과 데이터프레임 B의 b열은 서로 다르기 때문에 False의 결과가 나온다.
2. 두 개 열이 다르다면 어디가 다른지 찾기
# df_A의 'a'열과 df_B의 'b'열 비교하여 차이점 찾기
difference = df_A[df_A['a'] != df_B['b']]
difference
위 코드는 데이터프레임 A의 a열과 데이터프레임 B의 b열에서 다른 값을 찾아내어 반환한다.
3. 두 데이터프레임이 완전히 같은지 다른지 확인
import pandas as pd
# 새로운 데이터 프레임 생성
df_C = pd.DataFrame({
'col1': [1, 2, 3, 4, 5],
'col2': ['a', 'b', 'c', 'd', 'e'],
'col3': [5.0, 4.5, 3.6, 2.8, 1.0],
'col4': ['apple', 'banana', 'cherry', 'date', 'elderberry']
})
df_D = pd.DataFrame({
'col1': [1, 2, 3, 4, 5],
'col2': ['a', 'b', 'c', 'd', 'f'],
'col3': [5.0, 4.5, 3.6, 2.8, 1.2],
'col4': ['apple', 'banana', 'cherry', 'date', 'fig']
})
# df_C와 df_D의 완전한 동일성 확인
df_C.equals(df_D)
데이터프레임 C와 데이터프레임 D는 서로 다르기 때문에 False의 결과가 나온다.
4. 두 데이터프레임이 다르다면 어디가 다른지 찾기
# df_C와 df_D 비교
comparison = df_C.compare(df_D)
comparison
compare 메소드는 두 데이터프레임을 비교하는 메소드로 모양을 유지시키는 옵션과 같은 것도 함께 표시해주는 옵션을 함께 넣어주면 아래와 같이 온전한 데이터프레임을 보여준다. 여기서 self는 df_C를 의미하며, other는 df_D를 의미한다.
# df_C와 df_D 비교(keep_shape, keep_equal 옵션 모두 적용)
comparison = df_C.compare(df_D, keep_shape=True, keep_equal=True)
comparison