본문 바로가기
반응형

Python/NumPy9

Numpy 고급 인덱싱 및 인덱스 트릭 본 포스팅은 Numpy 라이브러리 홈페이지 원문을 기반으로 하여 작성하였습니다. Broadcasting rules Broadcasting을 통해 범용 함수는 정확히 같은 모양이 아닌 입력을 의미 있는 방식으로 처리할 수 있습니다. Broadcasting의 첫 번째 규칙은 모든 입력 배열의 차원 수가 동일하지 않은 경우 모든 배열이 동일한 차원 수를 가질 때까지 더 작은 배열의 모양 앞에 "1"이 반복적으로 추가된다는 것입니다. Broadcasting의 두 번째 규칙은 특정 차원을 따라 크기가 1인 배열이 해당 차원을 따라 가장 큰 모양을 가진 배열의 크기를 가진 것처럼 작동하도록 합니다. 배열 요소의 값은 "Broadcast" 배열의 해당 차원을 따라 동일한 것으로 간주됩니다. Broadcasting 규.. 2021. 10. 4.
NumPy 복사 및 조회 본 포스팅은 NumPy 패키지 홈페이지의 원문을 기반으로 하여 작성하였습니다. 배열을 조작하고 다룰 때 데이터가 새 배열로 복사되는 경우가 있고 그렇지 않은 경우가 있습니다. 이것은 종종 초보자에게 혼란을 주는 주요 원인입니다. 세 가지 경우가 있습니다. 1. No Copy at All 단순 할당은 개체 또는 해당 데이터의 복사본을 만들지 않습니다. >>> import numpy as np >>> a = np.array([[ 0, 1, 2, 3], ____________________[ 4, 5, 6, 7], ____________________[ 8, 9, 10, 11]]) >>> b = a # 새로운 객체가 생성되지 않음 >>> b is a # a 및 b는 동일한 ndarray 객체에 대한 두 개의 .. 2021. 9. 11.
NumPy 배열 모양 변경 본 포스팅은 NumPy 패키지 홈페이지의 원문을 기반으로 하여 작성하였습니다. 배열의 모양 변경 배열은 각 축을 따라 요소의 수로 지정된 모양을 갖습니다. >>> rg = np.random.default_rng(1) >>> a = np.floor(10 * rg.random((3, 4))) >>> a array([[3., 7., 3., 4.], _______[1., 4., 2., 2.], _______[7., 2., 4., 9.]]) >>> a.shape (3, 4) 배열의 모양은 다양한 명령으로 변경할 수 있습니다. 다음 세 가지 명령은 모두 수정된 배열을 반환하지만 원래 배열은 변경하지 않습니다. >>> a.ravel() # 평면화된 배열 반환 array([3., 7., 3., 4., 1., 4., 2.. 2021. 9. 10.
NumPy 인덱싱, 슬라이싱, 반복 본 포스팅은 NumPy 패키지 홈페이지의 원문을 기반으로 작성하였습니다. 1차원 배열은 목록 및 기타 Python 시퀀스와 마찬가지로 인덱싱, 슬라이스 및 반복을 처리할 수 있습니다. >>> a = np.arange(10)**3 >>> a array([ 0, 1, 8, 27, 64, 125, 216, 343, 512, 729]) >>> a[2] 8 >>> a[2:5] array([ 8, 27, 64]) >>> # a[0:6:2] = 1000 와 동일 >>> # 시작부터 위치 6까지, 배타적, 모든 두 번째 요소를 1000으로 설정 >>> a[:6:2] = 1000 >>> a array([1000, 1, 1000, 27, 1000, 125, 216, 343, 512, 729]) >>> a[::-1] # r.. 2021. 9. 9.
NumPy 기본 옵션 및 함수 본 포스팅은 NumPy 패키지 홈페이지의 원문을 기반으로 작성하였습니다. 배열의 산술 연산자는 요소별로 적용됩니다. 새 배열이 생성되고 결과로 채워집니다. >>> a = np.array([20, 30, 40, 50]) >>> b = np.arange(4) >>> b array([0, 1, 2, 3]) >>> c = a - b >>> c array([20, 29, 38, 47]) >>> b**2 array([0, 1, 4, 9]) >>> 10 * np.sin(a) array([ 9.12945251, -9.88031624, 7.4511316 , -2.62374854]) >>> a < 35 array([ True, True, False, False ]) 많은 행렬 언어와 달리 곱 연산자 *는 NumPy 배열에.. 2021. 9. 8.
NumPy 활용 기초 코드 작성 본 포스팅은 NumPy 패키지 홈페이지의 원문을 기반으로 하여 작성하였습니다. Example >>> import numpy as np >>> a = np.arange(15).reshape(3, 5) >>> a array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]) >>> a.shape (3, 5) >>> a.ndim 2 >>> a.dtype.name 'int64' >>> a.itemsize 8 >>> a.size 15 >>> type(a) >>> b = np.array([6, 7, 8]) >>> b array([6, 7, 8]) >>> type(b) Array 생성 배열을 만드는 방법에는 여러 가지가 있습니다. 예를 들어, 배열 함수를 사용하.. 2021. 9. 7.
NumPy 기초 본 포스팅은 NumPy 패키지 홈페이지 원문을 기반으로 작성하였습니다. 전제조건 Python에 대해서 조금의 배경지식이 필요합니다. 최소한 제 포스트의 Python 사전 준비 및 Python 완전기초 카테고리에 있는 내용을 먼저 숙지하시기를 바랍니다. 또한, 예제를 실행하려면 NumPy와 함께 matplotlib 라이브러리가 설치되어 있어야 합니다. 학습자 프로필 이것은 NumPy의 배열에 대한 간략한 개요입니다. n차원() 배열이 어떻게 표현되고 조작될 수 있는지 보여줍니다. 특히 for 루프를 사용하지 않고 n차원 배열에 일반적인 함수를 적용하는 방법을 모르거나 n차원 배열의 축 및 모양 속성을 이해하려는 경우 이번 포스팅의 글이 도움이 될 수 있습니다. 학습 목표 NumPy에서 1차원, 2차원 및 .. 2021. 9. 6.
Python 리스트와 NumPy 배열의 차이점 본 포스팅은 NumPy 패키지 홈페이지의 원본 내용을 기반으로 작성하였습니다. NumPy는 배열을 생성하고 배열 내부의 숫자 데이터를 조작하는 빠르고 효율적인 방법을 광범위하게 제공합니다. Python 목록은 단일 목록 내에 다양한 데이터 유형을 포함할 수 있지만 NumPy 배열의 모든 요소는 동일 유형이어야 합니다. 배열에 대해 수행되는 수학 연산은 배열이 동질적이지 않은 경우 극도로 비효율적입니다. 왜 NumPy를 사용할까요? NumPy 배열은 Python 리스트보다 빠르고 콤팩트합니다. 배열은 메모리를 덜 소모하고 사용하기 편리합니다. NumPy는 데이터를 저장하는 데 훨씬 적은 메모리를 사용하며 데이터 유형을 지정하는 메커니즘을 제공합니다. 이를 통해 코드를 더욱 최적화할 수 있습니다. 배열(Ar.. 2021. 9. 5.
NumPy 개요 및 패키지 설치하기 본 포스팅은 NumPy 패키지 홈페이지의 원본 내용을 기반으로 작성하였습니다. NumPy 개요 NumPy(Numerical Python)는 거의 모든 과학 및 공학 분야에서 사용되는 오픈 소스 Python 라이브러리입니다. 이는 Python에서 수치 데이터 작업을 위한 보편적인 표준이며 과학적인 Python 및 PyData 생태계의 핵심입니다. NumPy 사용자는 초보 코더부터 최첨단 과학 및 산업 연구 및 개발을 수행하는 숙련된 연구원에 이르기까지 모든 사람들을 포함합니다. NumPy API는 Pandas, SciPy, Matplotlib, scikit-learn, scikit-image 및 대부분의 기타 데이터 과학 및 과학 Python 패키지에서 광범위하게 사용됩니다. NumPy 라이브러리에는 다차.. 2021. 9. 4.
반응형