[Numpy] Numpy와 첫 만남

2026. 1. 9. 21:59·Programing Langauge/python
반응형

👋 들어가기 전

 

정말 늦었다고 생각하지만, AI공부를 더 이상 미룰 수 없다....

AI를 위한 다양한 파이썬 라이브러리 중, Numpy는 필수라고 들었다.

 

행렬 연산때문에 그런 듯???

 

이번 시간은 Numpy에 대한 설명과 간단한 연산 코드를 알아보자.


🏁 학습할 내용

  • Numpy란
  • 생성 및 메타데이터 얻기
  • 특별한 기능

🧮 Numpy란

 

다차원 배열 연산에 특화된 패키지

 

 

🧩 역할

  • 빠른 연산
    • 주된 연산 처리가 C와 C++로 구현되어 있어, 기본 파이썬 연산보다 빠름
  • 적은 메모리
    • 동일한 타입을 연속적으로 저장하기때문에, 메모리 효율이 좋음
  • 브로드캐스팅
    • 모양이 다른 배열끼리도, 자동으로 크기를 맞춰 연산해주는 기능
  • 다양한 수학 함수
  • 데이터 연동
    • Pandas,PyTorch등 다양한 데이터 분석도구들이 Numpy를 기반으로 구현됨

1️⃣생성 및 메타데이터 얻기

 

🔹생성 및 연산

import numpy as np

# 생성 
x = np.array([1,2,3])
y = np.array([4,5,6])

#연산
print(x-y)
print(x+y)
print(x*y)
print(x//y)
print(x%y)

"""
OUTPUT
[-3 -3 -3]
[5 7 9]
[ 4 10 18]
[0 0 0]
[1 2 3]
"""

 

🔹메타데이터 얻기

import numpy as np

# 생성 
x = np.array([[1,2,3],[4,5,6]])

print(x.shape) # 행렬의 형상
print(x.dtype) # 원소 자료형

"""
OUTPUT
(2, 3)
int64
"""

 


2️⃣특별한 기능

 

🔹브로드캐스트

 

2x2 행렬과 2x1 형상이 다른 두 배열을 곱해보자. 

 

y에 해당하는 배열이 사실 곱해질 떄, [[2,3], [2,3]] 형태로 확장된 후 연산되므로

 

아래 결과를 올바르게 해석할 수 있다.

import numpy as np

# 생성 
x = np.array([[1,2],[3,4]])
y = np.array([2,3])

print(x*y)

"""
OUTPUT

[[2  6]
[6 12]]
"""

 

🔹평탄화

 

N차원 배열을, 1차원 배열로평탄화를 할 수 있고,

또한 인덱스 배열을 통해 여러개의 원소를 한번에 얻을 수 있는 기능이 있다.

 

import numpy as np

# 생성 
x = np.array([[1,2,3],[4,5,6],[7,8,9]])

X = x.flatten() # 평탄화

print(X)  # 평탄화 결과
print(X[np.array([0,2,4])]) # 0,2,4 인덱스 값들만
print(X[X>3]) # 3보다 큰 원소들만 

"""
OUTPUT

[1 2 3 4 5 6 7 8 9]
[1 3 5]
[4 5 6 7 8 9]
"""

출처

반응형

'Programing Langauge > python' 카테고리의 다른 글

[Numpy] 행렬 계산  (0) 2026.01.13
pip install 명령어 에러  (0) 2025.09.03
실행파일 배포하기  (0) 2025.02.22
with  (0) 2025.02.19
메서드 체이닝  (0) 2025.02.19
'Programing Langauge/python' 카테고리의 다른 글
  • [Numpy] 행렬 계산
  • pip install 명령어 에러
  • 실행파일 배포하기
  • with
Hamp
Hamp
남들에게 보여주기 부끄러운 잡다한 글을 적어 나가는 자칭 기술 블로그입니다.
  • Hamp
    Hamp의 분리수거함
    Hamp
  • 전체
    오늘
    어제
    • 분류 전체보기 (325) N
      • CS (30)
        • 객체지향 (2)
        • Network (7)
        • OS (6)
        • 자료구조 (1)
        • LiveStreaming (3)
        • 이미지 (1)
        • 잡다한 질문 정리 (0)
        • Hardware (2)
        • 이론 (6)
        • 컴퓨터 그래픽스 (0)
      • Firebase (3)
      • Programing Langauge (41)
        • swift (34)
        • python (6)
        • Kotlin (1)
      • iOS (133) N
        • UIKit (37)
        • Combine (1)
        • SwiftUI (33) N
        • Framework (7)
        • Swift Concurrency (22)
        • Tuist (6)
        • Setting (11)
        • Modularization (1)
        • Instruments (6)
      • PS (59)
        • 프로그래머스 (24)
        • 백준 (13)
        • LeetCode (19)
        • 알고리즘 (3)
      • Git (18)
        • 명령어 (4)
        • 이론 (2)
        • hooks (1)
        • config (2)
        • action (7)
      • Shell Script (2)
      • Linux (6)
        • 명령어 (5)
      • Spring (20)
        • 어노테이션 (6)
        • 튜토리얼 (13)
      • CI-CD (4)
      • Android (0)
        • Jetpack Compose (0)
      • AI (9)
        • 이론 (9)
        • MCP (0)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    SwiftUI
    투포인터
    boostcamp
    GIT
    AVFoundation
    protocol
    Spring
    IOS
    dispatch
    CS
    Tuist
    UIKit
    백준
    concurrency
    property
    lifecycle
    dfs
    Swift
    프로그래머스
    dp
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
Hamp
[Numpy] Numpy와 첫 만남
상단으로

티스토리툴바