Python

[apply, replace] 콤마(,)가 포함된 숫자를 숫자로 형변환하기

mimi_Bo 2021. 5. 25. 20:53

가끔 데이터를 받아보면 아래와 같이 숫자에 콤마(,)가 함께 표현될 때가 있다. 만약 그냥 작업하게 되면 문자열 또는 콤마를 기준으로 왼쪽숫자, 오른쪽 숫자가 따로 된다. 예를 들어서 25,970 + 82,524 = 108,464 이지만, '25,97082,524' 라는 결과를 낸다. 따라서 데이터 작업을 하기 위해서는 이러한 숫자사이에 있는 콤마를 제거하고 하나의 숫자로 만들어줘야 한다.

 

방법1. 하나의 숫자만 형변환

s.replace(',', '') # ('삭제할 글자', '대체할 글자')

 

방법2. Dataframe 전체에 대하여 형변환

1. 함수로 작성

def toInt(string):
    return int(string.replace(',',''))
    
df['A'] = df['A'].apply(toInt)

2. lambda활용하여 object형 변수들을 숫자로 변환

df['원하는 특정 열'] = df['원하는 특정 열'].apply(lambda x: x.replace(',',''))