IT/Python

판다스(Pandas DataFrame) 특정 글자 변환, 없애기(replace)

조스톡 2022. 10. 7. 11:08
728x90
반응형

 

문제

 

Pandas DataFrame을 활용하던 중 컬럼 자료형을 소수점 사용을 위해 'float'으로 변환하려고 하니 아래와 같이 오류가 발생했다.

 

ValueError: could not convert string to float: '1,010.00'

 

숫자 표기에 맞게 잘 적혀있고 겉 보기엔 맞는데... 무엇이 문제일까?

바로 '1,010.00', 쉼표(Comma)가 있어서 오류가 발생한 것이다.

 

 

해결 및 방법

 

'replace'를 사용하여 쉼표를 한번에 없애줄 수 있다.

첫번째 인자에 ','를 넣고 두번째 인자는 '' 빈칸으로 두는 것이다.

 

df = df.replace(',','', regex=True)

 

나의 사례는 쉼표를 없애는데 이 기능을 사용했지만 다른 글자로 바꾸는데도(치환) 사용할 수 있다.

 

 

사과 가격이 올라서 바꿔야 할때 아래와 같이 입력하면 '5000' → '8000'으로 바뀌게 된다.

 

 

 

사과와 딸기는 빨간색이지만 안익은 상태나 청사과는 초록색이다. 한번 바꿔보도록 하자.

 

'빨간'을 '초록'으로 치환하려고 입력했으나 변경되지 않았다. replace는 문자열이 완전히 일치하는 것만 변경할 수 있다.

 

 

 

그러나 'regex' 옵션을 추가하면 일부만 일치하더라도 변경할 수 있다. 정규표현식을 사용할때도 사용된다.

 

 

728x90
반응형