Coding/Numpy 5

[Numpy] 차원 축소 및 확장 (np.expand_dims 와 np.sqeeze)

두 함수는 주로 딥러닝에서 다차원 배열을 다룰 때 사용되, 텐서의 차원을 축소하거나 확대할 때 자주 사용합니다. np.expnad_dims import numpy as np np.expand_dims(data, axis) data : 차원을 추가할 array 또는 tensor입니다. axis : 확장할 축(차원)의 위치. 값은 정수, 리스트 또는 튜플의 형태로 입력할 수 있습니다. 예시1) axis에 정수를 넣어 2차원 배열을 3차원 배열로 확장하는 경우입니다. >>> import numpy as np >>> data = np.arange(12).reshape(3,4) >>> data array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> data1 = ..

Coding/Numpy 2023.12.28

[Numpy] 배열 이어붙이기 (concatenate, vstack, hstack, r_, c_)

np.concatnate numpy.concatenate((a1, a2, ...), axis=0)를 써서 사용합니다. 여기서 axis=0 행이고 axis=1 열입니다. axis=0이면 열에다가 concat axis=1이면 행에다가 concat axis에 대해 매개변수가 없으면 1차원으로 concat합니다. 그림으로 예시를 보여드리겠습니다. 각각 (2,3)의 a와 b의 배열이 있습니다. 두개의 배열에 대해 사용하는 예시를 보여드리겠습니다. 배열 선언 >>> import numpy as np >>> a = np.array([[1,2,3],[4,5,6]]) >>> a array([[1, 2, 3], [4, 5, 6]]) >>> b = np.array([[7,8,9],[10,11,12]]) >>> b array..

Coding/Numpy 2023.12.26

[Numpy] 팬시 색인(fancy indexing)

팬시 색인( fancy indexing)이란? 정수 배열을 사용한 색인을 설명하기 위해 Numpy에서 차용한 단어이다. 팬시 색인은 슬라이싱과 달리 선택된 데이터를 새로운 배열로 복사한다. 값을 가져오는 것이 아닌 값을 복사하는 것이다. 팬시 색인 예시 특정한 순서로 행을 선택하고 싶다면 원하는 순서가 명시된 정수가 담긴 ndarray 또는 list를 매개변수로 입력한다. 1차원 배열로 팬시색인을 하는 경우 >>> import numpy as np >>> arr = np.zeros((8,4)) >>> for i in range(8): ... arr[i] = i >>> arr array([[0., 0., 0., 0.], [1., 1., 1., 1.], [2., 2., 2., 2.], [3., 3., 3.,..

Coding/Numpy 2023.12.22

[Numpy] Numpy 메서드 ( argmin, argmax, cumsum, cumprod)

파이썬의 통계를 위한 메서드 배열 전체 혹은 배열의 한 축에 속하는 자료에서 통계를 계산하는 수학 함수 중 4개를 소개한다. argmax : 최대 원소의 인덱스값 argmin : 최소 원소의 인덱스값 cumsum : 0부터 시작하는 각 원소의 누적 합 cumprod : 1부터 시작하는 각 원소의 누적 곱 4개의 함수는 모두 axis라는 매개변수를 갖는다. (2차원 기준으로 설명) axis = 0 : 행을 의미하며, 계산은 행의 방향대로 진행 aixs = 1 : 열을 의미하며, 계산은 열의 방향대로 진행 np.argmin np.argmax(data, axis(default=0)) : 최대 원소의 인덱스 값 반환 >>> import numpy as np >>> data = np.array([[0,3,5],[..

Coding/Numpy 2023.12.21

[Numpy] Numpy란? (ndarray, ndim, shape)

Numpy란? Numerical Python의 준말인 넘파이$^{Numpy}$는 파이썬에서 산술 연산, 수치해석과 같은 수학 및 과학 연산을 위한 파이썬 패키지이다. 다차원 배열을 쉽고 효율적으로 처리하며 Pandas와 연동하여 자주 사용한다. 핵심 기능은 ndarray라고 하는 N차원의 객체 배열이다. 왜 사용하는가? 파이썬의 기본 라이브러리보다 매우 매우 빠르고 효율적이다, 배열 내부의 원소의 값들을 브로드캐스팅할 때, 파이썬은 반복문을 사용하지만, 넘파이는 한 번에 가능하기에 빠르다. Numpy 설치 $ pip install numpy ndarray, 다차원 배열 객체 생성 가장 기본적으로 생성하는 방법 >>> import numpy as np >>> data =np.array([[1.5, -0.1..

Coding/Numpy 2023.12.20