Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- dense_rank
- Retention
- 누적합
- Datarian
- row_number
- 윈도우함수
- rank
- advent of sql
- regexp
- 독서
- 윈도우 함수
- 퍼널분석
- 리텐션
- python
- pandas
- 취준
- 서브쿼리
- 신입 데이터분석가
- 린분석
- leetcode
- SolveSQL
- 데이터분석
- LEFTJOIN
- SQL
- funnel
- 그로스해킹
- 프로그래머스
- MYSQL
- 데이터리안
- 순위함수
Archives
- Today
- Total
데이터 분석
[Pandas] 문자열 컬럼 가공하기 | 달러 기호 제거와 숫자 변환 본문
문제
'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:]을 사용해 첫 번째 문자($)를 제외한 나머지 부분을 추출한다.
장점: 정규표현식을 사용하지 않아 성능이 더 빠를 수 있음
단점: 변경하고자 하는 문자가 항상 동일한 위치에 있지 않거나 다른 특수문자가 포함된 경우, 일괄적인 처리가 어려움
'Python > Pandas' 카테고리의 다른 글
| [Pandas] 날짜 데이터 다루기 (2) | 2024.12.17 |
|---|---|
| [Pandas] datetime 컬럼 가공 | 잘못된 연도 값 조정하기 (2) | 2024.12.14 |
| [Pandas] Series.map() & DataFrame.apply() 활용 (0) | 2024.12.13 |
| [Pandas] DataFrame.unstack()/div() 활용 (1) | 2024.12.10 |
| [Pandas] Filtering & Sorting (1) | 2024.12.07 |