Numpy(넘파이)_1

김현희·2026년 4월 13일
  1. 넘파이를 배워야 하는 이유
  2. 넘파이 불러오기
  3. 배열(array) 생성하기
  4. 다차원 배열(array)
  5. Numpy 배열 확인하기
  6. Numpy 연산
    6-1.비교 연산
    6-2. max, min, sum
  7. 누적 합(cumulative sum)
  8. exp() 함수
  9. sqrt() 함수

1. 넘파이를 배워야 하는 이유

  1. 대규모 수치 계산을 효율적으로 처리함
  2. 데이터 과학의 기초
  3. 다양한 라이브러리와 호환성

파이썬은 대규모 수치 연산을 할 땐 느려진다는 단점이 있다. 이를 보완하기 위해 만들어진 파이썬 라이브러리를 넘파이(Numpy)라고 한다.

  • numpy는 Numerical Python의 줄임말
  • 파이썬의 list와 달리 모든 원소가 같은 데이터 타입이어서 연산이 빠름.

2. 넘파이 불러오기

  • numpy는 자주 사용하는 라이브러리이므로 축약어인 np로 불러오기 --> import numpy as np
  • np.array() 함수를 사용하기

3. 배열(array) 생성하기

  1. np.zeros( ) 함수 : 지정한 크기의 배열을 생성하고, 그 배열의 모든 요소를 0으로 초기화
  2. np.ones( ) : 모든 요소를 1로 초기화 한 배열

4. 다차원 배열(array)

  • 벡터(vector) : 1차원 배열
  • 행렬(matrix) : 2차원 배열 -> 2개의 축(axis)를 갖는 배열로 행(row)과 열(column)의 개념이 존재
  • 턴서(tensor) : 3차원 이상 배열 : 3개의 축을 갖는 배열로 깊이(depth)가 추가됨

각 행(row)는 []로 둘러싸인 구조를 가지며, 쉼표(,)로 구분된 원소를 갖게 됨.


2차원인 경우

  • axis = 0 : 수직 방향 , 위아래로 계산 (↓)
  • axis = 1 : 수평 방향, 좌우로 계산 (→)
    ! 행끼리, 열끼리 계산한다고 외우면 안됨!

3차원인 경우

  • axis =0 : 깊이 방향
  • axis =1 : 수직 방향
  • axis =2 : 수평 방향



5. Numpy 배열 확인하기

  1. 배열의 차원(Dimension) -> array.ndim
  2. 배열의 크기(shape)
  3. 배열이 원소 개수(size) : 전체 원소 개수를 반환
  4. 배열의 데이터 타입(dtype)
    예) int32는 32비트 정수를 나타내는 데이터 타입이라는 말 -> 배열된 원소의 자료형에 따라 결정되며, 메모리 사용량과 연산속도에 영향을 줌.

  • list와 달리 모든 원소가 같은 데이터 타입을 가져야 한다.
    이런 특징이 빠른 연산을 가능하게 한다.

6. Numpy 연산

  • 두 배열의 같은 위치에 있는 원소를 계산한 새로운 배열을 반환함.
  • 거듭제곱은 두 번째 배열 값만큼 각각 거듭제곱한다는 의미!

6-1. 비교 연산

  • 비교결과 (True, False)를 반환하는 코드
  • 동일한 인덱스의 원소끼리 대소 비교

6-2. max, min, sum

  • max( ) : 배열에서 가장 큰 값을 반환하는 코드
  • min( ) : 배열에서 가장 작은 값을 반환
  • sum( ) : 원소들의 합
  • 축(axis)를 기준으로 계산 가능

7. 누적 합(cumulative sum)

  • cumsum( ) : 배열의 요소들을 누적하여 합을 구한 배열을 반환
  1. 첫 번째 요소: 배열의 첫 번째 요소
  2. 두 번째 요소: 첫 번째 요소+두 번째 요소
  3. 세 번째 요소: 첫 번째 + 두 번째 + 세 번째 요소
  4. 네 번째 요소: 모든 요소를 더한 값

8. exp() 함수

  • Numpy에서 지수함수(exponential funcion)을 계산하기 위해 사용됨.

지수함수

  • 변수가 “지수(위에 올라가는 숫자)” 자리에 있는 함수

9. sqrt() 함수 : 제곱근 계산

  • exp함수와 마찬가지로 간단한 순자 뿐 아니라 list 형태도 삽입 가능
  • 인자로 전달된 값을 제곱근(루트)로 반환함.


비록 아직은 많이 부족하고 느리더라도 힘내자!!!
할 수 있다!!!!!

profile
AI 헬스케어 공부하는 간호사

0개의 댓글