[Python] 13. Pandas 데이터프레임 값을 숫자로만 구성되도록 변환하기

데이터프레임 특정 열의 값이 정수나 소수점 등 문자가 아닌 숫자로만 구성되도록 변환하는 예제를 Python의 pandas 라이브러리를 사용하여 설명하겠습니다.
이를 위해서는 해당 열의 값을 검사하고 필요한 변환을 수행해야 합니다.

데이터프레임 예시

예를 들어, 다음과 같은 데이터프레임이 있다고 가정해봅시다.

import pandas as pd

data = {
    'ID': [1, 2, 3, 4, 5],
    'Value': ['10', '15.5', '20', 'N/A', '25.2'],
}

df = pd.DataFrame(data)

숫자 변환 함수 정의

여기서 ‘Value’ 열의 값들은 모두 숫자이지만, 문자열로 되어있습니다.
이제 이 열의 값을 정수나 소수점 등 문자가 아닌 숫자로만 구성되도록 변환하겠습니다.

# 숫자 변환 함수 정의
def convert_to_numeric(value):
    try:
        # 문자열을 숫자로 변환하여 반환
        return float(value)
    except ValueError:
        # 변환에 실패하면 NaN 반환
        return float('nan')

# 'Value' 열의 값을 변환하여 새로운 열 'NumericValue' 생성
df['NumericValue'] = df['Value'].apply(convert_to_numeric)

# 결과 확인
print(df)

출력 결과

   ID Value  NumericValue
0   1    10          10.0
1   2  15.5          15.5
2   3    20          20.0
3   4   N/A           NaN
4   5  25.2          25.2

위의 코드에서 convert_to_numeric 함수는 주어진 값이 숫자로 변환 가능한 경우 숫자로 변환하고, 그렇지 않은 경우 float('nan') (NaN)을 반환합니다.
이렇게 하면 문자가 아닌 숫자로 구성되지 않는 값은 NaN으로 처리됩니다.

새로운 ‘NumericValue’ 열에 변환된 숫자 값이 들어갔으며, 이제 필요한 계산이나 분석을 위해 숫자로 이루어진 열을 사용할 수 있습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤