ones: 1로만 구성된 numpy배열 zeros: 0으로만 구성된 numpy배열 empty: 빈 numpy배열이나, 메모리를 초기화하지 않고 shape 크기 만큼 할당한 메모리공간의 값 반환하므로 생성될때마다 다른 값을 반환한다. 셋 다 매개변수로 shape를 지정하여 원하는 형태의 배열을 생성 할 수 있다. 또 dtype으로 데이터 타입도 지정 가능하다. np.ones(shape=(3,5), dtype=np.int8) >array([[1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1]], dtype=int8) empty는 빈 배열이 나오는게 아니라 shape크기 만큼의 메모리에 원래 있던 값을 반환한다고 생각하면 된다. np.empty(shape=(3,5),dtyp..
전체 글
arange()는 배열을 생성하는 함수라고 생각하면 된다. arange(마지막값) --> 0~(마지막값-1)까지의 배열 생성 즉, arange(값)은 값 미만까지의 배열을 생성한다. import numpy as np np.arange(5) >array([0, 1, 2, 3, 4]) arange(시작값, 마지막값, 증가값) --> 시작값, 시작값+증가값, 시작값+증가값+증가값, ..., (마지막값-1)까지의 배열 생성 이때 (마지막값-1) != (이전값+증가값)이면 배열에 포함되지 않으며 아래 코드와 같다. np.arange(1, 6, 2) >array([1, 3, 5]) 그리고 (마지막값) = (이전값+증가값) 이어도 (마지막값)미만까지만 배열에 포함되며 아래 코드와 같다. np.arange(1, 7, ..
indexing 파이썬 리스트와 달리 [행, 열] 인덱싱 지원 slicing 파이썬 리스트와 달리 행과 열을 나눠서 슬라이싱 지원 [이상 : 미만] 또 슬라이싱에서 증가값(step)을 지원하는데, [시작값 : 끝값 : 증가index값] 방식이다. 따라서 [::건너뛸 행 수,::건너뛸 열 수] 이렇게 사용할 수도 있다. y = np.array([[1,3,4],[4,5,6]]) >array([[1, 3, 4], [4, 5, 6]]) y[0, ::2] >array([1, 4]) 행과 열을 구분할 수 있으므로 y[0][1] >3 0행 1열을 의미하고 다음 코드도 같은 결과를 가진다 y[0, 1] >3 그런데 전체 배열에서 증가값을 적용하려면 어떻게 해야할까? 간단히 [ :, ::증가값 ]방식으로 하면 된다. 앞..
reshape 배열의 구조 변경하는 method로, 행이나 열(혹은 특정 차원)을 늘리거나 줄임 단, 전체 데이터 개수는 유지되어야함 # reshape한 데이터 개수 != 원본 데이터 개수 x = np.array(range(8)) x.reshape(2,2) >ValueError -1 : 전체 요소의 개수는 고정시키고 -1을 쓴 자리를 제외한 나머지 차원의 크기를 지정했을때 전체 요소의 개수를 고려하여 -1자리의 차원이 자동으로 지정됨 x.reshape(2,-1) #2행 지정, 열은 자동 계산 >array([[0, 1, 2, 3], [4, 5, 6, 7]]) flatten() 어떤 tensor든지 1차원 벡터로 변환 (= 평탄화) 이때 데이터 개수와 값은 그대로 유지됨 x.flatten() >array([..
.shape: numpy배열에서 객체의 차원에 대한 구성 정보 반환 1차독립: m개의 벡터들의 1차결합에서 모든 스칼라 값이 0일때만 1차결합=0이 성립하는 벡터집합 rank(행렬의 계수): 행렬A에서 1차독립인 행벡터의 최대수를 A의 계수(rank)라고 하며, rank A로 나타냄 -KREYSZIG공업수학 rank=1 일때 (요소 개수, ) rank=2 일때 (행, 열) rank=3 일때 (행렬의 개수, 행, 열) rank=n 일때 (n차원의 행렬 개수, n-1차원의 행렬개수,..., 3차원의 행렬개수, 행, 열) tensor_rank5 = [ [[ [[1,2,5,8],[1,2,5,8],[1,2,5,8]], [[1,2,5,8],[1,2,5,8],[1,2,5,8]], [[1,2,5,8],[1,2,5,8]..

.array(생성할 데이터, 데이터 타입) import numpy as np test_array = np.array([1,2,3,5], float) type(test_array[3]) >array([1., 4., 5., 8.]) #총 64bit이므로 하나의 값 당 8byte 가짐 - dtype: 데이터 타입 지정하는 매개변수 int: 정수형 float: 실수형 - numpy배열은 tensor의 구조에 맞춰 배열 생성 - 행렬의 모든 데이터가 채워져 있어야함 test_list = [[1,4,5,8],[2,3,6]] np.array(test_list,float) >ValueError # 2X4 행렬을 구성하려고했지만, 2행 4열 값이 비어있음 # tensor중 일부가 비어있어 ValueError발생 - 파이..