Matplotlib (맷플롯립)
1. Matplotlib이란?
- 파이썬의 시각화 라이브러리로, 데이터를 그래프로 쉽게 표현할 수 있음
- Pyplot은 Matplotlib의 가장 많이 쓰는 서브모듈
2. Pyplot 구성 요소
구성 요소설명
figure | 전체 그래프의 틀 (도화지 전체) |
axes | 그래프가 실제로 그려지는 영역 (x축, y축 포함) |
subplot | 한 figure 안에 여러 개의 axes를 넣을 수 있는 기능 |
예시:
import matplotlib.pyplot as plt
fig, ax = plt.subplots() # figure와 axes 생성
ax.plot([1, 2, 3], [4, 5, 6]) # 그래프 그리기
plt.show()
- plt.subplots()는 도화지 위에 공간을 나눠 그래프를 여러 개 그릴 때 사용.
데이터 전처리 (Pandas 중심)
1. 머신러닝의 기본 전제:
데이터를 입력하면 함수처럼 결과가 나옴 → y = f(x)
2. 데이터 종류
데이터 타입예시설명
기수형 (정량) | 키, 나이, 점수 | 수치 간 간격이 일정 |
서수형 (순서) | 학년, 등급 | 순서만 있고 간격은 일정하지 않음 |
3. 결측치(Missing Value)
- 존재하지만 기록되지 않은 값
- Pandas에서 isna() 또는 isnull()로 확인 가능
예:
df.isnull().sum() # 결측치 개수 확인
처리 방법:
방법설명
dropna() | 결측치가 포함된 행/열 삭제 |
fillna() | 평균, 최빈값, 중간값 등으로 채우기 |
inplace=True | 원본 데이터를 직접 수정함 (복사본이 아닌) |
df.dropna(inplace=True) # 결측치 포함된 행 제거
df.fillna(df.mean(), inplace=True) # 평균으로 채움
- how='all': 모든 값이 NaN인 경우에만 제거
- thresh=5: NaN 아닌 값이 5개 이상 있어야 해당 행 유지
4. 이상치 처리
- 평균에서 너무 벗어난 값
- 보통 IQR (사분위 범위) 또는 표준편차 기준으로 판단
- 제거하거나 변환해서 처리
5. transform과 fillna 조합
- groupby()와 함께 사용하면 그룹별 평균값으로 결측치 채우기 가능
df['column'].fillna(df.groupby('group_col')['column'].transform('mean'), inplace=True)
Numpy (넘파이) 핵심 요약
1. 축(Axis)의 개념
차원예시axis 0axis 1
2D (행렬) | 표, 이미지 | 행 방향 (세로) | 열 방향 (가로) |
3D 이상 | 영상, 시계열 | 0은 가장 바깥쪽 축 | 그다음 차례대로 1, 2... |
예:
import numpy as np
arr = np.array([[1, 2], [3, 4]])
np.sum(arr, axis=0) # 열끼리 더하기 => [4, 6]
np.sum(arr, axis=1) # 행끼리 더하기 => [3, 7]
2. 배열 연결 함수
함수설명
vstack() | 수직으로 쌓기 (행 증가) |
hstack() | 수평으로 쌓기 (열 증가) |
예:
a = np.array([1, 2])
b = np.array([3, 4])
np.vstack((a, b)) # [[1 2], [3 4]]
np.hstack((a, b)) # [1 2 3 4]
3. 사칙연산
- 배열 간 같은 위치끼리 계산
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
a + b # [5 7 9]
a * b # [4 10 18]
- broadcasting이 가능하여 스칼라와 벡터 연산도 쉬움
a + 1 # [2 3 4]
요약
Matplotlib | figure: 도화지, axes: 축 있는 그래프, subplot: 여러 그래프 배치 |
결측치 처리 | dropna(), fillna(), isnull() 등 활용 |
이상치 | 평균에서 벗어난 값, 제거하거나 변환 |
Numpy 축 | axis=0: 행(세로), axis=1: 열(가로) |
배열 연결 | vstack: 아래로, hstack: 옆으로 |
사칙연산 | 동일 위치끼리 연산, broadcasting 지원 |
728x90
'인공지능 대학원 > 데이터분석' 카테고리의 다른 글
빅데이터 산업 이해 (0) | 2025.03.20 |
---|---|
Pandas: 데이터 분석 라이브러리 정리 (0) | 2025.03.20 |
빅데이터 개념 및 정보통신기술 패러다임 변화 (0) | 2025.03.13 |