Numpy에 대하여

2020. 9. 23. 22:21·프로그래밍 Programming

Numpy : python의 라이브러리 중 하나로 고성능 수치 계산에 유용하다. N차원 배열 객체를 제공한다.

Numpy에 대한 explanation : numpy.org/doc/stable/search.html

 

Search — NumPy v1.19 Manual

Search Please activate JavaScript to enable the search functionality. From here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pag

numpy.org

나처럼 아마추어 코딩하는 사람에게 manual과 google은 아주 고마운 존재다.

특히 manual의 장점은, 함수의 input의 data type 및 종류를 알려주고, output이 어떤 형태로 나올지 알려준다는 장점이 있다. 보통 일반 사람들이 쓴 글에 이런 세세한 부분까지 커버해주기는 힘들기 때문.

 

1. 배열 생성

1
2
3
4
5
6
7
8
9
10
11
12
import numpy as np
 
A = np.array([1,2,3,4]) #배열 array([1,2,3,4]) 생성
B = np.array([[1,2],
              [3,4]])
C = np.zeros(5, dtype=int)
D = np.ones((2,3), dtype=complex)
E = np.arange(0, 19, 2) #일정한 간격으로 array를 만들고 싶을 때
F = np.linspace(0, 20, 6) #특정 범위 안에서 정해진 원소 갯수의 array를 만들고 싶을 때
G = np.random.random((2,2)) # [0,1) 사이의 랜덤값을 뽑아 정해진 사이즈의 배열 생성
H = np.random.normal(0,1,(2,2)) # 평균이 0이고 표준편차가 1인 배열
I = np.random.randint(0,10,(2,2))
# [0,10) 사이의 discrete uniform distribution에 따라 랜덤값 배열 생성
cs

(+추가정보)

  • numpy.arange([start, ]stop, [step, ]dtype=None)
    start를 지정하지 않으면 default로 0을 부여, step을 지정하지 않으면 default로 1을 부여
  • numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
    Return evenly spaced numbers over a specified interval.
  • 배열에 대한 정보
1
2
3
4
5
6
x = np.random.randint(10, size=(3,4))
 
x.dim # 2
x.shape # (3, 4)
x.size # 12
x.dtype # int64
cs

 

2. 배열 인덱싱, 슬라이싱

 

3. 브로드캐스팅 : shape가 다른 array끼리 연산하는 것

 

A = [[1,2,3] [4,5,6] [7,8,9]]

B = [1]

C = [0 1 2]

D = [[0][1][2]]

 

이렇게 차원이 다른 행렬이 있어도

A+B

A+C

C+D

계산이 가능하다.

 

# 집계함수 : sum, min, max, mean 등 데이터에 대한 요약 통계

1
2
3
4
5
matrix = np.arange(9).reshape(3,3)
np.sum(matrix) # 결과는 32 
np.min(matrix) # 0
np.max(matrix) # 8
np.mean(matrix) # 3.55555...
cs

 

# 마스킹 연산 : True, False array를 통해서 특정 값들을 뽑아내는 방법

 

 

@ 조금씩 보충할 예정

 

코드를 작성하고 가져온 사이트 : colorscripter.com/

'프로그래밍 Programming' 카테고리의 다른 글

Git bash 명령어 정리 (4) 깃허브  (0) 2021.07.20
Git bash 명령어 정리 (3) 브랜치  (0) 2021.07.20
Git bash 명령어 정리 (2) 기본  (0) 2021.07.20
Git bash 명령어 정리 (1) 리눅스  (0) 2021.07.19
[SQL] Database  (0) 2021.03.29
'프로그래밍 Programming' 카테고리의 다른 글
  • Git bash 명령어 정리 (3) 브랜치
  • Git bash 명령어 정리 (2) 기본
  • Git bash 명령어 정리 (1) 리눅스
  • [SQL] Database
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (458)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability & Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (21)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 유학 생활 Daily (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    LaTeX
    MATLAB
    Dear abby
    고체역학
    WOX
    수식삽입
    pytorch
    논문작성법
    obsidian
    텝스
    딥러닝
    Python
    텝스공부
    JAX
    Statics
    옵시디언
    에러기록
    teps
    Numerical Analysis
    Linear algebra
    matplotlib
    ChatGPT
    생산성
    우분투
    인공지능
    Zotero
    논문작성
    IEEE
    Julia
    수치해석
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
Numpy에 대하여
상단으로

티스토리툴바