데이터 분석

[Pandas] 문자열 컬럼 가공하기 | 달러 기호 제거와 숫자 변환 본문

Python/Pandas

[Pandas] 문자열 컬럼 가공하기 | 달러 기호 제거와 숫자 변환

딱한아이 2024. 12. 6. 19:09
문제

 

'item_price' 컬럼의 달러 표시 문자를 제거하고 float 타입으로 저장하여 새로운 'new_price' 컬럼 가공

원본 데이터프레임

 

Solution

 

(1) .str.replace 메소드를 활용

df['new_price'] = df['item_price'].str.replace('\$', '', regex=True).astype('float')
df.head()

가공 후의 데이터프레임

 

.str.replace()는 문자열 처리에 유용한 메소드로, 정규표현식을 사용해 특정 패턴을 찾아 변경할 수 있다.

정규표현식 '\$'는 $ 문자를 의미하며, regex=True 옵션을 통해 이를 문자열에서 제거한다.

 

장점: 직관적이고, 문자열 전처리에서 자주 사용

 

(2) Series.replace 활용

df['new_price'] = df['item_price'].replace('\$', '', regex=True).astype('float')
df.head()

 

Series.replace()는 시리즈 전체에 대해 문자열이나 특정 값을 변경할 때 사용된다.

방법 (1)과 비슷하지만, 문자열이 아닌 다른 데이터 타입에도 적용할 수 있는 점이 특징이다.

 

장점: 문자열뿐만 아니라 다른 데이터 타입에 대해서도 일관성 있는 처리가 가능

 

(3) 문자열 슬라이싱을 활용 

df['new_price'] = df['item_price'].str[1:].astype('float')
df.head()

 

.str[1:]을 사용해 첫 번째 문자($)를 제외한 나머지 부분을 추출한다.

 

장점: 정규표현식을 사용하지 않아 성능이 더 빠를 수 있음

단점: 변경하고자 하는 문자가 항상 동일한 위치에 있지 않거나 다른 특수문자가 포함된 경우, 일괄적인 처리가 어려움