본문 바로가기

데이터분석/Numpy

[Numpy] Numpy 시작

728x90
반응형

Numpy(넘파이) 시작하기

행렬이나 일반적으로 대규모 다차원 배열을 쉽게 처리할 수 있도록 지원하는 파이썬의 라이브러이다.

 

설치

pip install numpy
# or
pip3 install numpy

이제 Numpy를 다뤄보자.

 

 

배열 생성

array() 함수로 시퀀스 자료형(리스트,튜플)를 전달하여 행렬(Array)을 생성할 수 있다.

import numpy as np

a = [[1,2,3,4],[5,6,7,8]] # 행렬 생성
b = np.array(a)
print(b)

 

 

arange(start,end,step) 함수로 특수한 배열을 생성할 수도 있다.

  • start : 생략 시 0부터 시작, 시작 숫자를 설정
  • end : start ~ end-1 까지의 배열을 생성
  • step : start ~ end-1 까지 간격을 설정
import numpy as np
print(np.arange(1,9,2))

 

 

zeros(행렬의 형태)를 사용해 영행렬을 만들 수 있다.

import numpy as np
print(np.zeros((2,2)))

 

 

ones(행렬의 형태)를 사용해 1로 가득찬 행렬을 만들 수 있다.

import numpy as np
print(np.ones((2,2)))

 

 

full(행렬의 형태, n)를 사용해 모든 원소가 n인 행렬을 만들 수 있다.

import numpy as np
print(np.full((2,2),5))

 

 

eye(대각선의 개수)를 사용해 단위 행렬을 만들 수 있다.

import numpy as np
print(np.eye((3)))

 

 

reshape(변경할 형태)를 사용해 행렬의 구조를 변경할 수 있다.

import numpy as np

a = np.arange(4)
print(f"변경 전 : {a}")
print(f"2x2 변경 후 : \n{a.reshape((2,2))}")

 

 

슬라이싱/인덱싱

넘파이 배열, 행렬도 슬라이싱과 인덱싱을 할 수 있다.

  • 넘파이 배열에서 행과 열을 구분하는 방법은 제일 밖의 대괄호의 원소들을 각 행, 안의 각각 대괄호의 원소들을 열로 생각하면된다.

 

 

슬라이싱

import numpy as np
lst = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
] # 3 X 3 행렬
arr = np.array(lst)
# 행 x 열 행렬 [행, 열]
a = arr[0:2,0:2]
print(a)

 

 

인덱싱

import numpy as np
lst = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
] # 3 X 3 행렬
arr = np.array(lst)
# 행 x 열 행렬 [행, 열]
a = arr[1,1]
print(a)

 

출처 : https://www.oreilly.com/library/view/python-for-data/9781449323592/ch04.html

 

728x90
반응형

'데이터분석 > Numpy' 카테고리의 다른 글

[Numpy]Numpy 정리  (0) 2023.07.11
[Numpy] 연산과 난수  (0) 2023.02.13