반응형
Chapter 02. 데이터 핸들링을 위한 Numpy와 Pandas
기타 데이터 전처리 (Numpy와 Pandas)
1. 문자열 데이터 처리 (String Accessor: .str)
- 접근자(Accessor): 특정 타입에 특화된 기능을 제공하는 속성/메서드
- .str: 문자열 데이터 처리
- .dt: 날짜 데이터 처리
- .cat: 카테고리 데이터 처리 (이번 강의에서는 생략)
- 문자열 접근자는 Series의 타입이 문자열일 때만 사용 가능하며, 벡터화를 지원하므로 반복문 없이 빠르게 처리 가능
주요 메서드:
- 대소문자 변환: upper(), lower(), capitalize(), title()
- 공백 제거: strip(), lstrip(), rstrip()
- 문자열 교체: replace(pat, repl)
- 포함 여부: contains(), startswith(), endswith()
- 문자열 분리 및 결합: split(), join()
- 문자열 검색: find()
2. 날짜 데이터 처리 (Datetime Accessor: .dt)
- 날짜 변환: pd.to_datetime() → 다양한 형태의 날짜 문자열을 datetime 타입으로 변환
- 속성 활용: dt.year, dt.month, dt.day, dt.weekday, dt.strftime()
- 시간 연산: pd.Timedelta로 시간 간격 연산 가능
3. 자주 사용하는 테크닉
- 환경 설정 (set_option)
- 출력 행/열 수: display.max_rows, display.max_columns
- 열 최대 문자 길이: display.max_colwidth
- 실수 표현 형식: display.float_format
- 빠른 단일 인덱싱
- iat: 위치 기반 단일 값 접근
- at: 라벨 기반 단일 값 접근
- 더 나은 가독성 (query)
- SQL처럼 문자열로 조건 지정
- 예:
df.query("Math >= 70 and English >= 70")
- apply와 map
- 반복문 대신 요소별 함수 적용 가능
- apply(): 시리즈 단위
- map(): 데이터프레임 단위
- 큰 데이터 불러오기
- nrows: 일부만 불러오기
- chunksize: 데이터를 청크 단위로 나누어 처리
- 스트리밍 데이터 처리에도 활용 가능
- 컬럼 이름 변경
- 전체 변경: df.columns = [...]
- 일부 변경: df.rename({기존:새로운}, axis=1)
- 시계열 처리 함수
- shift: 이전 시점 데이터 활용
- diff: 이전 값과의 차이 계산
- rolling: 이동 평균 등 윈도우 연산
* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.
💡 생각 정리
이번 강의에서는 그동안 배운 데이터 다루기 기법에서 한 걸음 더 나아가, 실무에서 꼭 필요한 전처리 팁들을 배웠다. 특히 문자열과 날짜 처리에 특화된 접근자들은 처음엔 생소하지만, 실제로 데이터를 다뤄보면 자주 쓰이기 때문에 반드시 익숙해져야겠다고 느꼈다.
또한 query 문법은 직관적이라 SQL에 익숙한 사람에게는 훨씬 가독성이 좋아서 팀 프로젝트에서도 코드 협업 효율을 높여줄 수 있다고 생각했다. apply와 map을 활용하면 반복문을 줄이고 연산 속도를 높일 수 있어, 데이터 전처리의 효율성을 크게 개선할 수 있을 것 같다.
무엇보다 큰 데이터셋을 다룰 때 chunksize로 나누어 처리하는 방법은 실제 현업에서 유용하게 쓰일 수 있는 테크닉이라고 느꼈다. 데이터가 점점 대용량화되는 시대에, 이런 기법을 미리 익혀두는 것이 중요하다고 생각했다.
🚀 적용점
- .str 접근자를 활용해 텍스트 데이터(예: 고객 이름, 이메일, 상품 코드 등)를 정규화하고 불필요한 공백/문자 제거 실습하기
- pd.to_datetime()과 .dt 속성을 이용해 시간 데이터 분석 연습하기 (예: 월별/요일별 패턴 분석)
- query와 loc를 비교하며 같은 조건 필터링을 서로 다르게 구현해보고, 가독성 차이 확인하기
- apply와 map으로 사용자 정의 함수 적용 실습하기
- chunksize로 대용량 CSV 데이터를 부분 처리해 메모리 절약하는 방법 연습하기
- 시계열 데이터셋을 이용해 shift, diff, rolling을 적용해 트렌드 및 이동 평균 분석하기
👉 이번 강의에서 다룬 내용은 데이터 분석 전처리 과정에서 실전 활용도가 매우 높으므로, 꼭 여러 번 반복 실습을 통해 체화하는 것이 중요하다.
반응형
'데이터' 카테고리의 다른 글
| 제로베이스 데이터사이언스 스쿨 - Part 01. 데이터 분석을 위한 Python_Chapter 03-2 (0) | 2025.09.28 |
|---|---|
| 제로베이스 데이터사이언스 스쿨 - Part 01. 데이터 분석을 위한 Python_Chapter 03-1 (0) | 2025.09.27 |
| 제로베이스 데이터사이언스 스쿨 - Part 01. 데이터 분석을 위한 Python_Chapter 02-5 (0) | 2025.09.25 |
| 제로베이스 데이터사이언스 스쿨 - Part 01. 데이터 분석을 위한 Python_Chapter 02-4 (0) | 2025.09.24 |
| 제로베이스 데이터사이언스 스쿨 - Part 01. 데이터 분석을 위한 Python_Chapter 02-3 (0) | 2025.09.23 |