본문 바로가기
728x90

데이터전처리5

[PYTHON] 메모리 부족 502 에러 해결을 위한 Pandas chunksize 활용 방법과 성능 차이 데이터 분석가라면 누구나 한 번쯤 수 기가바이트(GB)에 달하는 CSV 파일을 pd.read_csv()로 불러오다 커널이 죽거나 'MemoryError'가 발생하는 난처한 상황을 겪어보셨을 겁니다. 일반적인 PC 환경에서 가용 RAM 용량을 초과하는 데이터를 한꺼번에 로드하는 것은 불가능에 가깝습니다. 이러한 물리적 한계를 극복하기 위한 가장 강력한 해결책이 바로 chunksize(청크사이즈) 옵션입니다. 본 가이드에서는 데이터를 조각내어 처리하는 청크 단위 로직의 내부 원리와, 단순히 읽는 것을 넘어 실무 데이터 파이프라인에 적용하는 최적화 전략 3가지를 심층적으로 다룹니다.1. 왜 Pandas는 대용량 데이터에서 메모리 부족을 일으키는가?Pandas는 기본적으로 모든 데이터를 메모리(RAM)에 상주시.. 2026. 3. 21.
[PYTHON] 문자열 검색의 99% 해결 방법 : 정규 표현식(Regex) 기초 개념과 일반 검색의 차이 및 3단계 활용법 데이터 전처리, 웹 크롤링, 로그 분석 등 현대 소프트웨어 개발에서 문자열을 다루는 작업은 비중이 매우 높습니다. 단순히 특정 단어를 찾는 수준을 넘어 "이메일 형식인가?", "전화번호 패턴인가?"와 같은 복잡한 조건을 판단해야 할 때, 우리는 정규 표현식(Regular Expression, Regex)이라는 강력한 무기를 사용합니다. 본 포스팅에서는 파이썬 re 모듈을 활용하여 복잡한 문자열 패턴을 우아하게 해결하는 방법을 입문자 눈높이에서 심도 있게 다룹니다.1. 정규 표현식(Regex)이란 무엇인가?정규 표현식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 '형식 언어'입니다. 파이썬뿐만 아니라 거의 모든 프로그래밍 언어와 텍스트 에디터에서 지원하며, 복잡한 if-else 조건문을 단 .. 2026. 3. 13.
[PYTHON] 데이터 처리의 미학 : map()과 filter() 함수 완벽 가이드 파이썬 프로그래밍에서 '파이썬답게(Pythonic)' 코드를 작성한다는 것은 단순히 동작하는 코드를 만드는 것을 넘어, 가독성이 높고 효율적인 구조를 설계하는 것을 의미합니다. 그 중심에는 함수형 프로그래밍의 정수라고 불리는 map()과 filter() 함수가 있습니다. 이 글에서는 초보자부터 전문가까지 실무에서 바로 적용할 수 있는 두 함수의 심층적인 활용법과 내부 메커니즘을 상세히 다룹니다.1. 왜 map()과 filter()를 배워야 하는가?데이터의 양이 방대해지는 현대 프로그래밍 환경에서 for 루프를 통한 단순 반복 작업은 코드의 복잡도를 높이고 유지보수를 어렵게 만듭니다. map()과 filter()는 선언적 프로그래밍(Declarative Programming) 스타일을 지원하여, '어떻게(.. 2026. 2. 11.
[PYTHON] 파이썬 리스트 컴프리헨션의 마법 : 효율적 코드 작성을 위한 완벽 가이드 파이썬(Python)을 배우다 보면 어느 순간 "이 코드를 더 간결하게 줄일 수는 없을까?"라는 고민에 빠지게 됩니다. 특히 데이터를 가공하고 리스트를 생성하는 과정에서 반복되는 for 루프와 if 조건문은 코드의 가독성을 해치기도 하죠. 이때 파이썬의 정수라고 불리는 리스트 컴프리헨션(List Comprehension)이 등장합니다. 본 가이드에서는 단순히 문법을 설명하는 것을 넘어, 실무에서 리스트 컴프리헨션을 어떻게 창의적이고 효율적으로 활용할 수 있는지, 그리고 남발했을 때의 함정은 무엇인지 전문적인 시각에서 심도 있게 다룹니다.1. 리스트 컴프리헨션이란 무엇인가?리스트 컴프리헨션은 기존 리스트나 반복 가능한 객체(Iterable)를 바탕으로 새로운 리스트를 생성할 때 사용하는 한 줄로 된 간결한.. 2026. 2. 8.
[PYTHON] numpy reshape 완벽 가이드: 다차원 배열을 자유자재로 다루는 법 Python에서 수치 계산과 배열 조작의 대표적인 라이브러리인 NumPy는 과학 계산, 데이터 분석, 머신러닝에서 핵심적인 역할을 한다. 그 중에서도 reshape() 함수는 배열의 구조를 바꿔주는 매우 강력하고 자주 사용되는 도구다. 본 글에서는 numpy.reshape의 개념부터 동작 원리, 주의할 점, 실무 예제까지를 체계적으로 정리했다. 초보자부터 전문가까지 모두가 이해할 수 있도록 설명하며, 단순한 문법 소개를 넘어 배열 구조에 대한 직관을 길러줄 것이다.1. numpy.reshape란?reshape()는 기존 배열의 데이터를 변경하지 않고, 배열의 구조(차원과 형태)만 바꾸는 함수다. 데이터의 수는 같지만 형상(shape)을 바꾸고자 할 때 사용된다.import numpy as npa = np.. 2025. 7. 25.
728x90