행궁동 데이터 엔지니어

반응형

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
반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band