데이터를 숫자로만 확인하면 전체적인 특징을 빠르게 파악하기 어려울 때가 있다. 평균, 중앙값, 빈도, 사분위수 같은 통계량은 중요하지만 분포의 모양이나 범주 간 차이를 직관적으로 이해하려면 시각화가 훨씬 효과적이다.
데이터 분석을 시작할 때 바로 머신러닝 모델을 만들거나 복잡한 시각화를 그리는 것보다 먼저 해야 할 일이 있다. 바로 데이터가 어떤 모습인지 확인하는 것이다.
데이터 전처리를 공부하다 보면 처음에는 결측치 처리, 이상치 제거, 인코딩, 스케일링처럼 데이터의 형태를 바꾸는 작업에 집중하게 된다. 그런데 실제 머신러닝에서는 입력 변수의 개수가 많아질수록 또 다른 문제가 생긴다.
데이터 분석이나 머신러닝을 시작하면 처음에는 원본 데이터를 깨끗하게 만드는 것에 집중하게 된다. 결측치를 처리하고, 이상치를 확인하고, 스케일을 맞추는 식이다. 그런데 전처리는 단순히 데이터를 정리하는 데서 끝나지 않는다.
데이터 전처리에서 중요한 작업 중 하나가 변수의 표현 방식을 분석 목적에 맞게 바꾸는 것이다. 원본 데이터가 그대로도 의미가 있을 수 있지만, 분석이나 머신러닝에 바로 사용하기에는 지나치게 세밀하거나 변수마다 값의 범위가 너무 다를 때가 있다.
데이터를 분석하다 보면 대부분의 값과 동떨어진 이상치(Outlier) 를 만나게 된다.
데이터 분석을 시작하면 생각보다 자주 마주치는 것이 결측치(Missing Value) 다. 회원 가입 폼에서 선택 입력값이 비어 있을 수도 있고, API 응답 일부가 누락될 수도 있고, 로그 수집 중 오류가 발생해 특정 구간의 값이 저장되지 않을 수도 있다.
서비스 데이터에는 거의 항상 시간이 붙는다. 날짜별 가입자 수, 시간대별 API 요청 수, 일별 주문 금액, 서버 자원 사용률처럼 시간의 순서에 따라 값이 변하는 데이터를 다루려면 일반적인 표 조작만으로는 부족하다.
데이터 분석을 하다 보면 전체 데이터의 평균 하나보다 카테고리별, 사용자 유형별, 기간별 특징이 더 중요한 경우가 많다. 예를 들어 쇼핑몰 데이터가 있다면 전체 매출만 보는 것보다 다음 질문이 더 실용적이다.
데이터 분석에서는 여러 데이터셋을 하나로 합치는 작업이 자주 발생한다. 회원 정보와 주문 정보처럼 공통 Key를 기준으로 관계를 맺어 합치는 경우도 있고, 월별 로그처럼 같은 구조의 데이터를 위아래로 이어 붙이는 경우도 있다.
데이터 분석을 하다 보면 단순히 데이터를 조회하는 것보다 새로운 열을 만들고, 기존 값을 수정하고, 필요 없는 행이나 열을 제거하고, 외부 API 데이터를 DataFrame으로 변환하는 작업을 훨씬 자주 하게 된다.
데이터 분석을 시작하면 가장 자주 하는 작업 중 하나가 필요한 데이터만 골라내는 것이다. 전체 데이터에서 특정 행이나 열을 선택하고, 조건에 맞는 데이터만 추출하거나, 배열의 모양을 바꾸는 작업은 전처리와 분석의 기본이 된다.
Python으로 데이터 분석이나 머신러닝을 시작할 때 가장 먼저 부딪히는 문제 중 하나가 개발 환경 구성이다.
이번 글에서는 데이터 사이언스를 처음 접하는 개발자의 관점에서 데이터 사이언스가 무엇인지, 왜 중요해졌는지, 어떤 과정을 거치는지 차근차근 정리해본다.
정보처리기사 실기 - 2025년 2회 파이썬 기출 풀이(딕셔너리 내포, set 연산, 교집합 문제)
정보처리기사 실기 - 2025년 1회 파이썬 기출 풀이(집합 자료형 set의 특징과 중복 처리 문제)
정보처리기사 실기 - 2024년 3회 파이썬 기출 풀이(리스트 원소 교환과 슬라이싱을 이용한 합계 계산 문제)
정보처리기사 실기 - 2024년 2회 파이썬 기출 풀이(문자열 슬라이싱을 이용한 부분 문자열 탐색 문제)
정보처리기사 실기 - 2024년 1회 파이썬 기출 풀이(리스트 순회와 문자열 인덱싱 문제)