Python3 | numpy 입문

8679 단어 파이썬Python3numpy
개발 환경: Jupyter Notebook

우선, 로딩.
import numpy as np

"numpy라는 라이브러리를 np로 읽는다"라는 의미가 된다. 이것을 선언하는 것으로, 메소드를 np로서 참조할 수 있다.

배열





1차원 배열


a = np.array([0, 1, 2])

print(a)
#array([0, 1, 2])

a[2]
#2

np.array로 배열을 만듭니다. 1 차원 배열의 경우 array ([])로 만들 수 있습니다. a[] 로 임의의 값을 호출할 수가 있다.

2차원 배열


a = np.array([[0, 1, 2], [3, 4, 5]])

print(a)
#array([[0, 1, 2],
#       [3, 4, 5]])

a[0]
#array([0, 1, 2])
a[1]
#array([3, 4, 5])

a[0][0]
#0
a[1][2]
#5

2차원 배열의 경우 array([ ], [ ])로 작성할 수 있다. 여기서 a[] 로 하면, 행 마다의 값을 호출한다. a[][]에서는, 행과 열을 지정해, 1개의 값을 꺼낼 수가 있다.

배열 조작





shape, ndim, dtype, size


a.shape
#(2, 3)
a.ndim
#2
a.dtype
#'int64'
a.size
#6

a.shape에서 행과 열의 수를 꺼낼 수 있다. a.ndim은 차원 수를 나타냅니다. 이번 경우 2차원 행렬이기 때문에 2가 추출된다. a.dtype은 비트 수를 나타냅니다. 이번은, 2×3의 행렬이므로, 1개의 값을 2비트로 하면, 2의 6승으로 int64로 구해진다. a.size는 2×3 행렬보다 6으로 표시된다.

arange, linspace


np.arange(6)
#array([0, 1, 2, 3, 4, 5])

np.arange(0, 20, 5)
#array([0, 5, 10, 15])

np.linspace(0, 20, 5)
#array([0., 5., 10., 15., 20.])

np.arange는 등차로 배열을 만들 수 있습니다. 위의 예에서 간단히 6으로 쓰면 0에서 6 개의 요소를 검색 할 수 있습니다. 또는 0부터 시작하여 20 미만까지 5씩 증가하는 서열로 표시됩니다. np.linspace는 등분하여 배열을 만들 수 있다. 위의 예에서는 0부터 시작하여 20까지 5등분하여 배열을 작성하고 있다.

zeros, ones


np.zeros((2, 3))
#array([[0., 0., 0.],
#       [0., 0., 0.]])

np.ones((2, 3))
#array([[1., 1., 1.],
#       [1., 1., 1.]])

np.zeros는 0을 요소로 하는 배열을 만들 수 있다. 마찬가지로 np.ones는 1을 요소로 사용합니다.

append, vstack, hstack


a = np.arange(5)
b = np.arange(0, 10, 2)
c = np.arange(0, 100, 20)

a
#array([0, 1, 2, 3, 4])
b
#array([0, 2, 4, 6, 8])
c
#array([0, 20, 40, 60, 80])

np.append(a, b)
#array([0, 1, 2, 3, 4, 0, 2, 4, 6, 8])

np.vstack([a, b, c])
#array([[0,  1,  2,  3,  4],
#       [0,  2,  4,  6,  8],
#       [0, 20, 40, 60, 80]])

np.hstack([a, b, c])
#array([0,  1,  2,  3,  4,  0,  2,  4,  6,  8,  0, 20, 40, 60, 80])

np.append는 배열의 값을 나중에 추가 할 수 있습니다. np.vstack은 배열을 행 단위로, 즉 수직으로 정렬 할 수 있습니다. 또한 np.hstack은 배열을 수평으로 정렬 할 수 있습니다.

random, sum, min, max, mean


a = np.random.rand((2, 3))

a
#array([[0.3026967 , 0.7533224 , 0.26057491],
#       [0.91502592, 0.54166851, 0.60867887]])

a.sum()
# 3.381967315194162

a.min()
# 0.26057491207931693

a.max()
# 0.9150259161906477

a.mean()
# 0.563661219199027

np.random.rand는 0 이상 1 미만의 수를 랜덤하게 기술할 수 있다. a.sum에서 모든 값의 합계, a.min에서 배열의 최소값, a.max에서 배열의 최대값, a.mean에서 배열의 평균값을 나타냅니다.

좋은 웹페이지 즐겨찾기