[Pandas] 두 시리즈가 같은지 판단하기
- Python/Pandas
- 2024. 6. 29.
반응형
반응형
판다스 두 시리즈가 같은지 판단하기
두 시리즈가 동일한지 알아보기 위한 방법입니다. 데이터가 너무 크면 변화를 알아차리기 어렵거나 변화가 있다면 눈으로 확인하기보다 컴퓨터가 해주면 간편하게 할 수 있으니 최대한 활용하려 합니다.
equals()
equals라는 시리즈 매쏘드가 있습니다. 이 메쏘드는 두 시리즈가 동일하다면 True, 아니면 False를 반환합니다.
import pandas as pd
series1 = pd.Series([1, 2, 3, 4])
series2 = pd.Series([1, 2, 3, 4])
if series1.equals(series2):
print("두 시리즈가 동일합니다.")
else:
print("두 시리즈가 동일하지 않습니다.")
== 사용
== 통해서도 가능합니다.
if (series1 == series2).all():
print("두 시리즈가 동일합니다.")
else:
print("두 시리즈가 동일하지 않습니다.")
타입이 다르면 False를 반환할 수 있다.
equals() 메쏘드를 쓰면 타입이 다르다는 이유로 False가 나올 수 있습니다.
import pandas as pd
series1 = pd.Series([1, 2, 3], dtype=int)
series2 = pd.Series([1, 2, 3], dtype=float)
print(series1.equals(series2))
대신에, ==을 활용하면 True로 나옵니다.
print((series1 == series2).all())
좀 더 고급지게 하고 싶다면 assert_series_equal을 사용합니다.
assert_series_equal을 이용하면 타입이 달라도 True가 나오게 설정할 수 있습니다. check_dtyeps=False로 놓으면 타입이 달라도 값이 같다면 같은 걸로 판단합니다.
from pandas.testing import assert_series_equal
series1 = pd.Series([1, 2, 3], dtype=int)
series2 = pd.Series([1, 2, 3], dtype=float)
try:
assert_series_equal(series1, series2, check_dtype=False)
print("두 시리즈가 동일합니다.")
except AssertionError:
print("두 시리즈가 동일하지 않습니다.")
함께 보면 좋은 글
'Python > Pandas' 카테고리의 다른 글
[Pandas] 데이터프레임 조건 행 제외하기 (0) | 2024.12.21 |
---|---|
[파이썬] 데이터프레임 값 변경방법 총정리 (0) | 2024.08.20 |
[Pandas] 데이터프레임 컬럼값 각각 타입 확인하고 바꾸기 (1) | 2024.06.10 |
[Pandas] 엑셀 불러오기 전에 시트네임부터 확인하기 (0) | 2024.05.27 |
[Pandas] 데이터프레임 문자열 조건 검색법 총정리 (0) | 2024.05.20 |