티스토리 뷰
반응형
이번 포스팅은 numpy에서 array 생성 함수인 arange, ones, zeros, emtpy, _like에 대해 정리해보겠습니다.
arange
numpy에서 원하는 숫자 범위를 모두 포함하는 배열을 만드는 함수를 제공합니다.
arange를 사용하면 원하는 숫자 범위, 숫자 간격에 따른 array를 생성할 수 있습니다.
import numpy as np;
np.arange(30) # range : List의 range와 같은 효과, integer로 0부터 29까지 배열 추출
-- 출력 --
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29])
np.arange(0, 5, 0.5) # floating point 도 표시가능함
-- 출력 --
array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])
create_array = np.arange(30);
create_array.reshape(5,6)
-- 출력 --
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29]])
zeros
zeros는 0으로 가득 찬 array를 생성합니다.
np.zeros(shape, dtype, order)
np.zeros(shape=(10,), dtype=np.int8) # 10 -zero vector 생성
-- 출력 --
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int8)
np.zeros((2,5)) # 2 by 5 - zero matrix 생성
-- 출력 --
array([[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]])
ones
ones는 zeros와 마찬가지로 1로 가득찬 array를 생성합니다.
np.ones(shape, dtype, order)
np.ones(shape=(10,), dtype=np.int8)
-- 출력 --
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype=int8)
np.ones((2,5))
-- 출력 --
array([[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]])
empty
empty는 초기화되지 않은 값으로 zeros나 ones와 마찬가지로 배열을 생성해줍니다.
주의해야 할 것은 메모리도 초기화되지 않기 때문에 예상하지 못한 쓰레기 값이 들어가 있습니다.
np.empty(shape=(10,), dtype=np.int8)
-- 출력 --
array([101, 0, 100, 0, 117, 0, 108, 0, 101, 0], dtype=int8)
np.empty((3,5))
-- 출력 --
array([[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]])
something_like
_like는 지정된 array의 shape 크기만큼 지정된 값으로 채워 array를 반환합니다.
앞에서 정리한 ones, zeros, empty를 사용할 수 있습니다.
test_matrix = np.arange(30).reshape(5,6);
np.ones_like(test_matrix)
-- 출력 --
array([[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1]])
np.zeros_like(test_matrix)
-- 출력 --
array([[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]])
np.empty_like(test_matrix)
-- 출력 --
array([[1611640584, 345, 71, 0, 0,
0],
[ 0, 0, 0, 0, 1953702523,
1937077345],
[1864514082, 573317739, 1667594341, 1869182069, 1868783470,
578055797],
[ 741488698, 1702065442, 2019909490, 1936028272, 1852795251,
2067407475],
[1881287805, 1869379937, 975332449, 8215899, 0,
0]])
empty는 메모리가 초기화되지 않고 할당되기 때문에 쓰레기 값이 있을 수 있습니다.
이 점 꼭 주의 고려하여 사용해야 합니다.
참고
https://www.youtube.com/watch?v=GcP0uvZCgZM&list=PLBHVuYlKEkULZLnKLzRq1CnNBOBlBTkqp&index=5
반응형
'python' 카테고리의 다른 글
파이썬 numpy - array 사칙연산, 행렬 곱, Broadcasting (1) | 2020.02.11 |
---|---|
파이썬 numpy 단위행렬, 대각행렬 생성 및 추출 방법. (0) | 2020.02.08 |
[python] numpy Shape 이란? Shape다루기 (2) | 2020.02.06 |
[python] numpy array 특징과 사용법 (0) | 2020.02.05 |
[python] numpy 란? numpy 특징 및 사용법 (0) | 2020.02.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 30 Day LeetCode Challenge
- LeetCode 알고리즘 공부
- 파이썬
- Java
- LeetCode 30일 챌린지
- vscode
- 퍼셉트론
- git
- 지도학습
- Java leetcode
- Component
- GPTGOT
- LeetCode 5월 챌린지
- React 프로젝트 생성
- 리엑트
- 파이썬 numpy
- 버츄얼스튜디오코드
- 노드
- 머신러닝
- 넘파이
- LeetCode 풀이
- GPT서비스
- numpy
- k8s metrics-server running
- react
- Node
- 에라토스테네스
- CHATGOT
- Python
- k8s metrics-server
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함