Python

Numpy 라이브러리

learning-log22 2025. 4. 26. 19:13

1. Numpy란?

  • Numerical Python의 약자.
  • **다차원 배열(ndarray)**을 쉽게 만들고, 처리하고, 연산할 수 있게 해주는 파이썬 라이브러리.
  • 배열, 행렬, 선형대수 연산, 통계 집계 등 다양한 수치 계산 기능을 지원.

2. Numpy 기본

(1) 다차원 배열 만들기

  • np.array(리스트)→ 리스트 안 중첩 정도 = 배열 차원.
  • → 리스트를 넘파이 배열로 변환.

예시:

import numpy as np
arr = np.array([[1,2,3],[4,5,6]])
  • 배열의 모양(shape) 확인: arr.shape
  • 초기화 함수들: np.zeros(), np.ones(), np.full(), np.eye(), np.random.randn()

 

(2) 배열 인덱싱 (Indexing)

  • 특정 원소를 하나씩 추출.
  • 대괄호 [ ]를 사용하여 접근, 차원 순서대로 인덱싱.

예시:

arr[0][1]  # 0행 1열

 

(3) 배열 슬라이싱 (Slicing)

  • 범위로 여러 원소를 추출.
  • [시작:끝:간격] 형식. (끝은 포함하지 않음)

예시:

arr[0:2, 1:3]
  • 시작, 끝, 간격 생략 가능:
    • 시작 기본값 0
    • 끝 기본값 배열 끝
    • 간격 기본값 1

3. 배열 간 연산 (Array Operations)

(1) 원소 간 사칙연산

  • 배열 끼리 원소별 덧셈, 뺄셈, 곱셈, 나눗셈 가능.
  • 같은 shape일 때만 가능.

(2) Broadcasting (브로드캐스팅)

  • 배열과 스칼라(숫자) 간 연산도 가능.
  • 배열의 모든 원소에 자동으로 숫자 연산 적용.

예시:

arr + 3  # 배열 모든 원소에 3을 더함

 

4. Aggregation (집계 연산)

(1) 전체 집계

  • 배열 전체에 대해 합계(sum), 평균(mean), 곱(prod), 최대/최소값(max, min), 최대/최소 위치(argmax, argmin) 구할 수 있음.

예시:

np.sum(arr)
np.mean(arr)

(2) 축(axis) 집계

  • axis 인자를 이용해 특정 축을 따라 집계 가능.

예시:

np.sum(arr, axis=0)  # 열 방향 합
np.sum(arr, axis=1)  # 행 방향 합

 

5. 고급 Broadcasting

  • 서로 다른 모양(shape)의 배열 간에도, 차원을 자동 확장해서 연산하는 기술.
  • 조건:
    • 차원 수가 다르면 작은 쪽이 1로 확장
    • 같은 위치 차원끼리 크기가 맞거나, 둘 중 하나가 1이면 가능

요약 포인트

키워드 설명

np.array() 리스트 → 넘파이 배열 변환
.shape 배열 모양 확인
Indexing 특정 원소 추출
Slicing 여러 원소 추출 ([start:end:step])
사칙연산 배열 간 또는 배열-숫자 간 연산
Broadcasting 자동 차원 확장 연산
Aggregation 합계, 평균 등 집계 연산 (sum, mean 등)
axis 특정 축에 따라 집계 (axis=0, axis=1)

 

LIST

'Python' 카테고리의 다른 글

matplotlib 실습  (0) 2025.05.01
감성분석 이론  (0) 2025.05.01
크롤링  (2) 2025.04.26
matplotlib 라이브러리  (0) 2025.04.26
pandas 라이브러리  (0) 2025.04.26