데이터 분석을 시작하고 싶은데, 수학이나 코딩이 어려워 망설이셨나요? Pandas와 Numpy만 잘 다뤄도 훨씬 쉬워집니다!
안녕하세요, 요즘 데이터 분석 공부하고 계신 분들 많죠? 사실 저도 작년부터 본격적으로 Python으로 분석을 배우기 시작했는데요, 단순 반복 작업도 자동화되고, 테이블 정리도 깔끔하게 할 수 있어서 업무 효율도 확 올라갔죠. 아직 시작하지 못했다면 지금이 딱 좋은 기회예요. 기본기만 잘 다져두면 나중엔 머신러닝까지도 무섭지 않답니다!
Numpy란 무엇인가요?
Numpy는 숫자 계산에 특화된 파이썬 라이브러리예요. 'Numerical Python'의 줄임말이죠. 주로 배열(array) 기반의 수치 데이터를 다루고, 반복문 없이 빠르고 효율적으로 대규모 연산을 처리할 수 있게 해줘요. 특히, 머신러닝이나 통계 분석할 때 필수처럼 사용되죠. 저는 처음에 리스트와 헷갈렸는데, Numpy 배열은 차원이 있고, 더 빠르고 기능도 많다는 걸 알게 됐어요.
Numpy 배열의 기초 사용법
Numpy 배열은 단일 자료형으로 구성된 다차원 배열입니다. 배열을 만드는 기본적인 방법은 np.array()
를 사용하는 거예요. 아래는 주요 배열 생성 함수와 설명이에요:
함수명 | 설명 |
---|---|
np.array() | 리스트를 배열로 변환 |
np.zeros() | 모두 0인 배열 생성 |
np.ones() | 모두 1인 배열 생성 |
np.arange() | 범위 지정한 배열 생성 |
Pandas로 데이터 다루기 시작
Pandas는 엑셀처럼 테이블 형태의 데이터를 처리할 수 있는 라이브러리입니다. Numpy가 수치 중심이라면, Pandas는 행과 열이 있는 테이블, 즉 DataFrame 중심이에요. 아래는 Pandas에서 자주 사용하는 기능들이에요:
-
pd.read_csv()
로 CSV 파일 불러오기 -
df.head()
로 데이터 미리 보기 -
df.info()
로 전체 구조 확인 -
df.describe()
로 통계 요약 확인
Pandas DataFrame 구조 완전 정복
Pandas의 핵심은 바로 DataFrame입니다. 행(Row)과 열(Column)로 구성된 이 2차원 데이터 구조는 엑셀과 비슷한데, 훨씬 더 유연하고 프로그래밍 친화적이죠. DataFrame을 직접 만들 수도 있고, 외부 파일(CSV, Excel 등)에서 불러올 수도 있어요.
속성 | 설명 |
---|---|
index | 행 번호(또는 레이블) |
columns | 열 이름 |
values | 실제 데이터(배열) |
결측치 처리와 데이터 정제
실제 분석에서는 완벽한 데이터보다, 빠진 값이나 오류가 섞인 데이터가 더 많죠. 그래서 데이터 전처리는 필수입니다. Pandas는 결측치를 찾고 처리하는 기능이 아주 잘 되어 있어요.
-
df.isnull()
: 결측치 여부 확인 -
df.dropna()
: 결측치 행 제거 -
df.fillna()
: 특정 값으로 채우기
실전! Pandas & Numpy 분석 예제
이제 실제 데이터를 가지고 분석을 해봐야겠죠? 아래는 제가 최근에 했던 간단한 예제들이에요:
- 서울시 기온 데이터로 월별 평균 구하기 (Pandas)
- Numpy로 시계열 데이터 이상치 탐지하기
- Pandas로 고객 구매 이력 분석 후 시각화
Numpy는 Pandas의 기반이 되는 수치 연산 라이브러리이므로, Numpy를 먼저 익히면 Pandas를 이해하기 쉬워요.
Pandas 자체로는 크롤링 기능이 없지만, BeautifulSoup이나 requests와 함께 사용하면 웹 데이터를 다룰 수 있어요.
Series는 1차원 데이터(열 하나), DataFrame은 여러 열을 가진 2차원 구조입니다.
네, read_excel()
함수를 사용하면 Excel 파일(.xls, .xlsx)을 바로 불러올 수 있어요.
Numpy 배열은 더 빠르고, 다양한 연산 기능을 제공하지만, 데이터 타입이 모두 같아야 해요.
groupby는 데이터를 그룹별로 나누어 분석할 때 매우 강력한 기능이에요. 반드시 익혀두세요!
여기까지 따라오셨다면 Pandas와 Numpy의 기본기는 어느 정도 잡히셨을 거예요. 처음엔 어렵게 느껴질 수 있지만, 자꾸 써보면서 손에 익히는 게 중요하답니다. 오늘 배운 내용으로 간단한 데이터셋을 분석해보며 실습해보세요. 코드는 기억보다 습관이에요.