프로그래밍/Python
[Python] DataFrame np.inf, -np.inf 처리하기
엔지니어-
2021. 3. 31. 00:17
반응형
Python Pandas 패키지의 DataFrame을 사용하다 보면
데이터프레임의 값이 np.inf 또는 -np.inf로 채워진 경우가 있습니다.
- inf : Infinitie (무한)을 의미
np.inf, -np.inf는 어떤 사칙연산을 수행해도 np.inf or -np.inf 로만 변환되기에
코드에서 종종 오류를 일으킵니다.
이때 DataFrame.replace 메서드로 간단하게 np.inf, -np.inf를 None값으로 대체할 수 있습니다.
import pandas as pd
import numpy as np
df = pd.DataFrame([1000, 2000, 3000, -4000, np.inf, -np.inf])
print("Original DataFrame:")
print(df)
print("Removing infinite values:")
df = df.replace([np.inf, -np.inf], np.nan) # replace 메서드로 np.inf를 None(np.nan)으로 변경
print(df)
======= Output ======
>>>
Original DataFrame:
0
0 1000.0
1 2000.0
2 3000.0
3 -4000.0
4 inf
5 -inf
Removing infinite values:
0
0 1000.0
1 2000.0
2 3000.0
3 -4000.0
4 NaN
5 NaN
혹시 궁금하신 사항은 댓글 남겨주세요.
감사합니다.
1. w3resource, [Pandas: Remove infinite values from a given DataFrame], https://www.w3resource.com/python-exercises/pandas/python-pandas-data-frame-exercise-52.php
2. pandas 공식문서, [pandas.DataFrame.replace], https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.replace.html
반응형