반응형

Python/Numpy 42

[Numpy] 넘파이 배열 행/열 추가 방법 정리(끝 위치, 중간 위치)

파이썬 numpy array row/column 삽입 방법 파이썬에서 넘파이 배열의 끝 위치 혹은 중간의 특정 위치에 원하는 값들의 행 및 열을 추가하는 방법들을 정리해보도록 하겠습니다. 우선, 아래와 같은 2차원 배열 arr를 가정하고 행 및 열을 다양하게 추가해 보겠습니다. import numpy as np arr = np.arange(12).reshape(4, 3) arr # 출력 결과 array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) 1. 끝 위치 행/열 추가 : np.r_, np.c_ np.r_[기존 배열, 행 방향으로 추가할 배열] 형태로는 행 추가를, np.c_[기존 배열, 열 방향으로 추가할 배열] 형태로는 열 추가를 진행할 수 있습니다..

Python/Numpy 2022.12.13

[Numpy] 레코드 배열 recarray 자료형 선언 및 사용 방법

파이썬 넘파이 recarray type 파이썬의 numpy 모듈에서 제공하는 자료형인 레코드 배열(recarray)의 선언 방법을 위주로 사용 방법을 간략하게 정리해보도록 하겠습니다. 참고로, 레코드 배열에서는 arr['x'] = [1, 3] 처럼 attributes로 해당되는 부분 배열을 가져오는 기능을 제공합니다. (이는 마치 판다스에서 열을 추출하는 원리와 비슷합니다.) 해당 글은 아래 링크의 넘파이 공식 문서를 참고하여 작성되었으며, 더 자세한 내용이 궁금하시다면 해당 글을 참고해주세요. numpy.recarray — NumPy v1.23 Manual A list containing the data-types for the different columns, e.g. ['i4', 'f8', 'i4'..

Python/Numpy 2022.12.09

[Numpy] 파이썬 리스트(배열)에서 0이 아닌 값 위치/개수 찾기 : np.nonzero

Python numpy nonzero 파이썬의 리스트 혹은 배열에서 0이 아닌 원소들의 인덱스 번호나 개수를 찾을 수 있는 방법을 nonzero 함수의 사용법을 기준으로 다루어 보겠습니다. 1차원 리스트/배열의 경우 먼저, 1차원 리스트 혹은 배열 a에 대해서는 np.nonzero(a) 형태로 함수를 써주시면 0이 아닌 원소들의 위치들을 모아서 반환해줍니다. 개수는 해당 위치 배열의 길이를 통하여 바로 구할 수 있습니다. import numpy as np a = [0, 0, 1, 0, 0, 2, 0, 1] # 0이 아닌 인덱스 위치 np.nonzero(a) # (array([2, 5, 7]),) # 0이 아닌 원소의 개수 len(np.nonzero(a)[0]) # 3 2차원 이상 배열의 경우 2차원 이상..

Python/Numpy 2022.10.10

[Numpy] 파이썬 eigenvalue, eigenvector 구하기 : np.linalg.eig

Python에서 주어진 배열의 고윳값(eigenvalue)와 고유벡터(eigenvector)를 쉽게 찾을 수 있는 넘파이 모듈 내 eig 함수에 대하여 사용법 예제를 살펴보겠습니다. np.linalg.eig 함수 기본 사용법 (n, n) 형태의 shape를 가지는 2차원 정방행렬에 대하여 np.linalg.eig(행렬) 형태로 바로 적용해주시면 됩니다. output은 eigenvalue를 모은 리스트, eigenvector를 모은 행렬 순서로 반환되며 각 i번째 고유값에 해당하는 고유벡터는의 i번째 열벡터에 해당되는 점을 참고해주세요. import numpy as np A = np.array([[1, 0, 1], [0, 1, 1], [1, 1, 0]]) A_eig_val, A_eig_vec = np.li..

Python/Numpy 2022.09.27

[Numpy] 파이썬 배열 회전 함수 : np.rot90

Python 넘파이 배열 회전 함수 사용법 파이썬에서 배열을 회전한 결과를 쉽게 반환받을 수 있는 넘파이 모듈의 rot90 함수의 사용 방법에 대하여 간략하게 다루어보겠습니다. 참고로, 해당 글은 numpy.rot90 함수의 공식 document의 내용을 기반으로 작성하였습니다. 2차원 배열 예시 np.rot90 메소드의 사용법은 (input array, 회전 횟수)로 인자를 지정하는 형태로 간단합니다. 이 때, 회전의 기준은 횟수 1회당 반시계 방향으로 90도씩 회전하도록 되어있습니다. (즉, 4로 나눈 나머지만 중요하며, 0, 4 등 숫자 지정 시 기존 array가 그대로 반환됩니다.) import numpy as np a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]..

Python/Numpy 2022.08.08

[Numpy] 파이썬 넘파이 배열 원소 삭제 : np.delete 사용법

Python numpy delete 함수 사용 방법 예제 파이썬의 넘파이 모듈에서 배열의 원하는 위치와 축 방향을 지정하여 원소를 삭제할 수 있는 np.delete 함수의 사용법을 정리해보도록 하겠습니다. (참고로 이 글은 넘파이의 해당 함수 공식 문서 내용을 기반으로 작성되었습니다.) 기본적으로 delete 함수의 인자는 np.delete(배열, 인덱스, 축) 형태로 구성됩니다. 아래와 같은 2차원 배열 arr를 가정하여 값 제거를 진행해보도록 하겠습니다. import numpy as np arr = np.array([[1, 3, 5], [2, 4, 6], [3, 5, 7]]) np.delete axis별 값 제거 예시 먼저, axis = 0 방향으로 1번 인덱스(두 번째) 위치의 값들을 삭제한 예시는..

Python/Numpy 2022.07.17

[Numpy] 넘파이 버전 확인 / 업그레이드 및 다운그레이드

파이썬 넘파이 버전 체크, 높이기/낮추기 방법 정리 파이썬에서 Numpy 라이브러리의 버전(version)을 확인하는 방법과 업그레이드 혹은 다운그레이드를 진행하는 방법에 대해서 간단히 정리해보겠습니다. 넘파이 버전 확인 넘파이 모듈 임포트 후에 __version__ 속성을 확인해주시면 현재 설치된 numpy의 버전 체크가 가능합니다. import numpy as np print(np.__version__) # 1.21.6 넘파이 버전 업그레이드, 다운그레이드 !pip install numpy==원하는 버전 명령어를 코드 셀이나 터미널 창에서 실행시켜 numpy의 버전을 높이거나 낮출 수 있습니다.(단, 터미널에서는 맨 앞 ! 제외하고 입력) # 1.20.3 버전으로 다운그레이드 예시 !pip insta..

Python/Numpy 2022.06.23

파이썬에서 중복 없이 숫자 뽑기 / 리스트 랜덤 자료 추출

파이썬 중복 없이 난수 추출 / 리스트에서 값 뽑기 방법 정리 파이썬에서 중복을 허가하지 않고 특정 범위 내의 숫자(정수)들 중 원하는 개수의 숫자들을 뽑거나 리스트 내에서 특정 개수의 자료들을 샘플링하는 방법을 정리해보겠습니다. 중복되지 않게 숫자들을 뽑기 이 과정은 넘파이의 random.choice 함수를 사용하시면 편리한데, np.random.choice(range(시작 숫자, 끝 숫자+1), 개수, replace = False) 형태의 코드로 원하는 시작 숫자 ~ 끝 숫자 범위 내에서 특정 개수만큼 중복 없이 난수 샘플링이 가능합니다. 가령, 로또 번호의 예시로 1~45의 숫자들 중 6개를 뽑는 방법은 다음과 같습니다. import numpy as np # 1~45 중 중복 없이 6개 숫자 추출 ..

Python/Numpy 2022.06.22

[Numpy] 파이썬 1차/2차/n차 회귀식 구하기 및 시각화 예제(np.polyfit 함수 활용)

Python 넘파이 다항 회귀 예제 : np.polyfit 함수 파이썬에서 numpy 모듈의 polyfit 메소드를 활용하여 1차, 2차 및 n차 다항 회귀식을 구해보고, 결과를 시각화해보는 예시를 다루어보겠습니다. 1차 회귀식 구하기 및 결과 시각화 예시 먼저, 다음과 같은 x와 y에 대한 데이터가 있다고 가정해보겠습니다. x = [1, 2, 3, 4, 5, 6] y = [1, 3, 6, 8, 11, 19] polyfit 함수의 사용법은 polyfit(x, y, 차수) 형태로 매우 간단하게 이용이 가능합니다. 예를 들어, 1차식으로 회귀를 진행한 결과는 아래와 같습니다. import numpy as np print(np.polyfit(x, y, 1)) # [ 3.31428571 -3.6 ] -> y =..

Python/Numpy 2022.06.18

[Numpy] 파이썬 삼각함수(sin, cos, tan)와 역삼각함수(arcsin, arccos, arctan) 메소드 정리

Python 넘파이 삼각/역삼각함수 사용법 예제 파이썬의 numpy 모듈에서 sin, cos, tan의 삼각함수를 나타내는 메소드와 arcsin, arccos, arctan의 역삼각함수를 나타내는 메소드에 대하여 다루어보고, math 라이브러리의 삼각/역삼각함수 메소드와 간단한 비교를 진행해보겠습니다. 삼각함수 메소드 : np.sin, np.cos, np.tan 넘파이 라이브러리에서는 기본적으로 사인, 코사인 및 탄젠트 함수에 대한 메소드만을 지원하며, 각도 단위가 아닌 라디안 단위로 input을 넣어주셔야 합니다. (삼각함수의 역수인 cosec, sec, cot에 대한 직접적인 메소드는 지원하지 않고 직접 sin, cos, tan에 역수를 취해서 사용해주셔야 합니다.) 우선, 각도 숫자 1개에 대한 삼..

Python/Numpy 2022.06.07
반응형