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 |
Tags
- 독서
- 신입 데이터분석가
- pandas
- 순위함수
- 리텐션
- python
- 프로그래머스
- 서브쿼리
- funnel
- MYSQL
- SolveSQL
- 누적합
- leetcode
- 윈도우함수
- 그로스해킹
- rank
- 린분석
- SQL
- advent of sql
- Datarian
- 윈도우 함수
- 데이터리안
- regexp
- dense_rank
- LEFTJOIN
- row_number
- 퍼널분석
- Retention
- 취준
- 데이터분석
Archives
- Today
- Total
데이터 분석
[Pandas] Filtering & Sorting 본문
특정 조건에 부합하는 값만 변경하기
✔️df의 데이터 중 아래와 같이 item_name 값이 'Izze'인 데이터를 'Fizzy Lizzy'로 변경하고자 한다.

(1) Series.replace() 활용
df['item_name'] = df['item_name'].replace('Izze', 'Fizzy Lizzy')
값 전체를 대상으로 변경하기 때문에 regex=True 옵션을 필요로 하지 않는다.
(2) .loc 활용
df.loc[df['item_name'] == 'Izze', 'item_name'] = 'Fizzy Lizzy'
특정 조건을 만족하는 행과 열을 지정하여 값만 변경할 수 있는 방법이다.
단순 대체가 필요한 상황이라면 방법 (1)도 적합하겠지만, 조건에 따른 변경이 빈번한 상황에 대응하기 위해 방법 (2)를 능숙하게 사용하는 것이 더 효율적일거라고 생각한다.
특정 단어를 포함하지 않는 데이터를 필터링하기
✔️ df의 데이터 중 choice_description 값에 Vegetables 단어가 들어가지 않는 데이터를 조회하고자 한다.
(1) .str.contains() 활용
df.loc[~df['choice_description'].str.contains('Vegetables'), :].head(2)

😗 만약, 반대로 Vegetables 단어를 포함하는 데이터를 조회하고자 한다면 ?
df.loc[df['choice_description'].str.contains('Vegetables'), :].head(2)

.str.contains() 메서드는 주어진 문자열 패턴이 해당 Series의 각 요소에 포함되어 있는지 여부를 검사하여 True 또는 False 값을 반환하기 때문에 유용하게 활용할 수 있다.
'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] 문자열 컬럼 가공하기 | 달러 기호 제거와 숫자 변환 (0) | 2024.12.06 |