본문 바로가기

프로그래밍

Numpy 함수

row : , column :

 

ndarray.ndim : 배열의 축(차원)

ndarray.shape : 배열의 차원, nm(n, m)

ndarray.dtype : 배열에 있는 요소의 형식

ndarray.itemsize : 배열의 각 요소에 대한 크기(바이트) 8(=64/8) float64, 4(=32/8) int32, 16(=128/8) complex128

ndarray.data : 배열의 실제 요소를 포함하는 버퍼, 사용할 필요 없음

np.array([요소들]) : 배열 생성

np.zeros((n, m)) : 0로 가득 찬 nm열 배열 생성

np.zeros_like(a) : a배열의 같은 shape0으로 가득 찬 배열 생성

np.ones((n, m)) : 1로 가득 찬 nm열 배열 생성

np.ones_like(a) : a배열의 같은 shape1으로 가득 찬 배열 생성

np.empty((n, m)) : nm열의 메모리 내 임의 값으로 배열 생성

np.empty_like(a) : a배열의 같은 shape로 메모리 내 임의 값으로 배열 생성

np.full((a, b)) : a개의 b값으로 채워진 배열 생성

np.full((n, m), b) : nm열의 b값으로 채워진 배열 생성

np.full_like(a, b) : a배열과 같은 shapeb값으로 채워진 배열 생성

np.array([a], dtype=np.int16) : a배열의 각 요소의 형식을 int16으로 지정

np.arange(a, b ,c) : a부터 b미만의 구간으로 c만큼 일정하게 떨어져 있는 값인 배열 생성 // np.arange(start, stop, step), [start, stop]

np.arange(a) : 0부터 a미만의 값으로 채워진 배열 생성

np.arange(a).reshape(n, m) : 0부터 a미만의 값으로 채워진 n, m열 배열 생성

np.linspace(a, b, c) : a부터 b까지의 균일한 간격을 두고 구간 내의 c만큼의 배열 생성

 

a b : a배열과 b배열의 각 요소별로 뺄셈 연산

a + b : a배열과 b배열의 각 요소별로 덧셈 연산

a * b : a배열과 b배열의 각 요소별로 곱셈 연산

a ** 2 : a배열의 각 요소별로 (요소^2) 제곱 연산

a @ b or a.dot(b) : a배열과 b배열의 matrix 연산, 행렬 곱

 

np.exp(x) : 밑이 자연상수인 e인 지수함수(e^2)로 변환

np.sqrt(a) : a의 제곱근 계산

np.add(a, c) : ab의 요소별 합 계산

 

a.sum() : a배열의 모든 요소의 합 출력

a.min() : a배열의 모든 요소 중 최솟값 출력

a.max() : a배열의 모든 요소 중 최댓값 출력

a.cumsum() : a배열의 각 요소의 누적 합계 출력

a.함수(axis=0) : a배열의 각 열 요소에 대한 연산 출력

a.함수(axis=1) : a배열의 각 행 요소에 대한 연산 출력

 

인덱스는 0부터 시작함 0, 1, 2, 3, 4, 5, .

a[n]: n 인덱스 위치에 있는 요소 출력

a[start:stop:step] : start부터 stop 미만의 인덱스 요소 중 step 간격으로 출력, 슬라이싱

a[::] : a배열의 모든 요소 반환

a[::-1] or a[-1] : a배열의 역순으로 반환

a[m, n] : m, n열의 요소 반환

a[a:b, c:d] : a부터 b-1 c부터 d-1 열 구간 요소 반환

np.fromfuction(function, (n, m), dtype=int) : nm열로 이루어진 각 배열 요소에 적용될 사용자 정의 함수(function)

 

3차원 array

a.[1, ...] : a[1, :, :] or c[1]

a.[... , 2] : a[:, :, 2]

 

for element in a: : a배열을 축으로 반환

for element in a.flat: a배열의 각 요소에 대해서 반환

 

a.ravel() : 평면화된 배열 반환

a.reshape(a, b) : ab열의 모양이 수정된 배열 반환

a.T : 전치된 배열 반환

a.resize((n, m)) : a배열을 nm열로 배열 자체를 수정

 

np.floor(n) : n과 같은 정수 또는 주어진 숫자보다 작은 가까운 정수를 반환 ex) 5 --> 5.0, 5.894 --> 5.0, -5.789 --> -6.0

 

np.vstack((a, b)) : a배열 밑에 b배열을 수직 방향으로 반환

np.hstack((a, b)) : a배열 오른쪽에 b배열을 수평 방향으로 반환

 

np.split(a, 2) : 각 요소에 대해서 순서대로 2개의 배열로 분리

 

(col)로 분활(np.hsplit), np.split(axis=1)

np.hsplit(a, n) : 열 인덱스를 기준으로 a배열을 n개의 배열로 분리

np.hsplit(a, [3, 6]) : a배열을 열 인덱스 별로 0~2번째 값, 3~5, 6번째 이후 값으로의 배열 분리

 

(row)으로 분활(np.vsplit(), np.split(axis=0)

p.vsplit(a, n) : 행 인덱스를 기준으로 a배열을 n개의 배열로 분리

np.vsplit(a, [3, 6]) : a배열을 행 인덱스 별로 0~2번째 값, 3~5, 6번째 이후 값으로의 배열 분리

 

a = b : 단순 할당은 본사본을 만들지 않고 메모리 위치만 복사

 

b = a.view : 데이터를 공유하는 것,

bshape를 바꿔도 ashape는 바뀌지 않음,

b의 데이터를 바꾸면 a의 동일한 데이터도 바뀜

 

b = a.copy() : a의 배열과 데이터가 같은 새로운 배열 생성

 

np.random.rand() :[0, 1) 사이의 범위에서 난수로 반환

np.random.randint(a, b, c) : a부터 b 이하의 정수에서 c 개수만큼 반환

np.random.randn : 표준정규분포에서 샘플링한 난수를 반환

평균이 0이고 표준편차가 1인 표준 정규 분포

np.random.seed : 난수 생성의 시드를 설정

 

참고 사이트 : NumPy quickstart — NumPy v1.26 Manual

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

Tensorflow 정리  (0) 2024.06.17
Pandas 함수  (0) 2024.06.17
백준 10810/파이썬 공 넣기 문제  (0) 2023.12.22