Taeyoung Kim

Cloud & Platform

Python Data Analysis 정리

Python Data Analysis 정리 학습 내용을 정리한 백필 노트입니다.

이 글은 2025년 학습 기록을 블로그 형식으로 정리한 백필 노트입니다.


1. 실습 환경

  • 프로젝트 폴더 생성 (Documents/project/code, data 디렉토리 구분).

2. Numpy 기초

  • 배열 생성 및 특징
    • ndarray 생성, 차원 확인, shape 변경, 벡터·행렬 연산 지원.
    • 배열 자료형은 자동 통일 (정수 → 실수 → 문자열).
  • 배열 연산
    • 산술 연산과 브로드캐스팅, 결합(row_stack, column_stack, concatenate).
    • 분할(split, vsplit, hsplit), 재구조화(reshape, flatten, ravel).
  • 인덱싱/슬라이싱
    • 정수 인덱싱, 슬라이싱(slice), 팬시 인덱싱, 불리언 인덱싱 모두 지원.
  • 수학 함수
    • 평균, 분산, 표준편차, 내적, 거듭제곱, 로그, 절댓값 등.
  • 무작위값 추출
    • np.random.rand, randint, choice, seed 설정으로 재현성 확보.
    • 로또 번호 추출 예시.

3. Pandas 기초

  • 자료 구조
    • Series (1차원), DataFrame (2차원), Panel (3차원).
  • 데이터프레임
    • 행(Row)/열(Column) 구조, 자료형은 열마다 다를 수 있음.
    • index, columns, values, info() 활용.
  • 데이터 척도
    • 명목척도, 서열척도, 등간척도, 비율척도 설명.
  • Series
    • 생성: 리스트, 배열, 딕셔너리 등으로 가능.
    • 인덱스: 정수, 문자열, 실수 가능. 중복 허용.
    • 인덱싱: 정수/라벨 인덱싱, 슬라이싱, 팬시·불리언 인덱싱.
    • iloc(정수 위치), loc(라벨 이름) 구분.
    • 원소 추가/변경/삭제: loc 할당, drop 사용.
    • 자료형 변환: astype 활용.
    • 논리 연산: &, |, ^, ~ 비트연산자 활용.
    • 얕은 복사 vs 깊은 복사 비교.
  • DataFrame
    • 생성: 리스트, 딕셔너리, 딕셔너리 리스트로 생성 가능.
    • 인덱스/컬럼명 변경 가능.
    • 인덱싱: iloc(정수 기반), loc(라벨 기반).

4. 데이터 처리/분석 활용

  • 데이터 입출력

    CSV, Excel 등 다양한 포맷 입출력 (pandas read_csv, to_csv 등).

  • 데이터 전처리

    결측치 처리, 자료형 변환, 필터링, 병합/조인, 그룹화.

  • 데이터 탐색

    describe(), value_counts(), unique() 등을 통한 탐색.

  • 데이터 시각화

    • pandas plot(), matplotlib 활용.
    • 막대그래프, 선그래프, 히스토그램 등 기본 시각화 기능.

5. 비교/활용 사례

  • Excel vs Python
    • Excel 장점: 프로그래밍 지식 불필요, 시각적 편리성, Undo 가능.
    • Excel 단점: 대규모 데이터 처리 어려움, 자동화 제한.
    • Python 장점: 대규모 데이터·머신러닝 가능, 자동화, 협업 버전 관리 용이.
    • Python 단점: 초기 환경 설정 필요, 프로그래밍 지식 요구.