Captain's Log
← Observatory
Observatory·

분석의 뼈대 — NumPy와 Pandas

NumPy 100문제로 ndarray·shape·슬라이싱·브로드캐스팅을, Pandas 문제로 DataFrame 조작·조건 필터링·문자열 메서드를 익히며 데이터 분석의 기본 도구를 손에 붙인 기록.

TrainingDataPandas

두 도구가 분석의 바닥을 이룬다

시각화와 전처리를 하려면 결국 NumPy·Pandas가 손에 붙어 있어야 한다. 문제를 많이 푸는 방식으로 기본기를 다졌다.

NumPy — 배열의 사고방식

100문제를 풀며 핵심을 반복했다.

import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.ndim, a.shape)   # 차원과 모양
  • arange, linspace, reshape, flatten 으로 배열 생성·변형
  • 슬라이싱: 행/열 선택, 마지막 원소, 앞에서 N개
  • 브로드캐스팅: 모양이 다른 배열끼리의 연산 규칙
  • where, sort, concatenate, transpose 로 조건 처리와 결합
  • np.array(['1', 2, '3']) 처럼 섞으면 전부 문자열로 통일된다는 dtype 규칙

Pandas — 표를 다루는 언어

countries = pd.DataFrame(data).set_index("country")
countries[countries["density"] > 300][["capital", "population"]]
  • 파생 컬럼 만들기 (예: density = population / area)
  • 조건 필터링: 인구밀도 100~300 사이 국가 추출
  • 문자열 메서드: str.len(), str.contains("am") 로 수도 이름 검색
  • 값 수정, 인덱싱, 그리고 영화 리뷰 데이터로 집계·탐색

정리

NumPy는 숫자 배열의 사고방식을, Pandas는 표를 질문하는 언어를 줬다. "인구밀도가 300 넘는 나라의 수도는?" 같은 질문을 코드 한 줄로 바꾸는 감각 — 이후 모든 분석·모델링의 바닥이 됐다.