판다스 디테일

[Pandas] DataFrame에서 inf 값을 포함하는 행 지우기

dondon-a 2024. 6. 15. 18:23
반응형

pandas DataFrame에서 inf 값을 제거하려면 replace 함수를 사용하여 inf 값을 NaN으로 바꾼 후 dropna 함수를 사용하여 NaN 값을 포함하는 행을 제거할 수 있습니다. 이렇게 하면 inf 값을 제거한 DataFrame을 얻을 수 있습니다.

다음은 예제 코드입니다:

import pandas as pd
import numpy as np

# 예제 DataFrame 생성
data = {
    'A': [1, 2, np.inf, 4],
    'B': [5, np.inf, 7, 8],
    'C': [9, 10, 11, np.inf]
}
df = pd.DataFrame(data)

print("원본 DataFrame:")
print(df)

# inf 값을 NaN으로 대체
df.replace([np.inf, -np.inf], np.nan, inplace=True)

# NaN 값을 포함하는 행 제거
df.dropna(inplace=True)

print("\ninf 값 제거 후 DataFrame:")
print(df)

위 코드에서는 다음과 같은 결과가 출력됩니다:

원본 DataFrame:
     A    B     C
0  1.0  5.0   9.0
1  2.0  inf  10.0
2  inf  7.0  11.0
3  4.0  8.0   inf

inf 값 제거 후 DataFrame:
     A    B    C
0  1.0  5.0  9.0

설명:

  1. np.inf-np.inf 값을 np.nan으로 대체합니다. 이를 통해 inf 값을 NaN으로 바꿉니다.
  2. dropna 함수를 사용하여 NaN 값을 포함하는 행을 제거합니다.

이렇게 하면 DataFrame에서 inf 값을 포함하는 행을 제거할 수 있습니다.

반응형