Python/Numpy

    Numpy의 연산 - 브로드캐스팅(Broadcasting)

    In [1]: from IPython.display import display, HTML display(HTML("")) # 코드 입력창의 너비를 조정하는 코드입니다. 넘파이의 Broadcasting¶ 넘파이에는 브로드캐스팅이란 기능이 있는데 조건을 만족하는 배열끼리 짝을 맞춰 연산하는 기능이다. 1. 원소가 하나인 경우, 어떤 배열이나 브로드캐스팅이 가능 2. 하나의 배열이 1차원 배열인 경우, 브로드캐스팅이 가능 3. 서로 모양이 같은 경우, 브로드 캐스팅이 가능 4. 차원의 짝이 맞을 때, 브로드 캐스팅이 가능 ex) arr1.shape = (3, 1) arr2.shape = (1, 3) 일 때, 연산결과는 (3, 3) 1차원 배열 연산¶ In [2]: import numpy as np In [3]..

    Numpy Boolean 조건문으로 배열 인덱싱(Boolean Indexing)

    In [1]: from IPython.display import display, HTML display(HTML("")) # 코드 셀의 너비를 조정하는 코드입니다. 신경쓰지 마세요 넘파이의 Boolean indexing¶ In [3]: import numpy as np In [4]: X = np.array([[13, 22, 49, 42, 80], [91, 63, 58, 20, 34], [60, 40, 16, 37, 66], [ 2, 44, 16, 87, 84]]) In [9]: # 80보다 큰 데이터는 몇개인가? In [6]: X > 80 Out[6]: array([[False, False, False, False, False], [ True, False, False, False, False], [Fal..

    Numpy ndarray의 데이터 accessing, slicing

    In [1]: from IPython.display import display, HTML display(HTML("")) # 코드 셀의 너비를 조정하는 코드입니다. 신경쓰지 마세요 ndarray의 데이터에 access 하기¶ 1차원 배열의 인덱스 접근¶ In [2]: import numpy as np In [3]: np.random.seed(23) In [4]: x = np.random.randint(0, 100, 10) In [5]: x Out[5]: array([83, 40, 73, 54, 31, 76, 91, 39, 90, 25]) In [6]: x[3] Out[6]: 54 In [7]: x[-1] Out[7]: 25 다차원배열의 인덱스 접근¶ In [8]: X = np.array([[13, 22,..

    Numpy의 축(axis) 연산

    import numpy as np X = np.array([[13, 22, 49, 42, 80], [91, 63, 58, 20, 34], [60, 40, 16, 37, 66], [ 2, 44, 16, 87, 84]]) numpy의 sum, mean, std, max, min, median 등의 함수는 알아서 배열 전체에 대해 계산을 해준다. # 합 X.sum() >>> 91 # 평균 X.mean() >>> 46.2 # 표준편차 X.std() >>> 26.173650872585583 # 최대값 X.max() >>> 91 # 최소값 X.min() >>> 2​ # 중앙값 np.median(X) >>> 43.0 전체가 아닌 행 별로, 혹은 열 별로 계산하는 법 axis 파라미터를 사용하면 축끼리 계산할 수 있는..

    Numpy의 난수 배열 생성 random, randint

    numpy.random.random(shape) 아래에서 보듯, 파이썬에 기본 내장되어있는 random 모듈은 한번 실행에 하나의 난수밖에 만들지 못한다. 하지만 넘파이에 있는 random은 파라미터에 shape 값을 주는 것으로 난수(0에서 1사이)로 이루어진 배열을 만들 수 있다. numpy.random.randint( start, end, shape ) start와 end 사이의 정수로 이루어진(end는 포함하지 않음) 정수의 배열을 만든다.

    Numpy의 배열 생성 arange, linspace, reshape

    numpy.arange(start, end+1, step) 시작값(start)부터 끝값(end)까지의 정수형의 배열을 생성한다. step의 기본값은 1이다. numpy.linspace(start, end, n) start부터 end까지를 균일한 간격으로 나눠 n개의 실수형 원소를 가진 배열을 생성한다. 파라미터로 endpoint=False를 주면 end 값을 포함하지 않는다. numpy.reshape(shape) 입력한 shape의 형태로 기존의 배열을 변경한다. 원소의 갯수가 맞지 않으면 에러가 발생한다. 1차원을 2차원으로 2차원을 1차원으로 주의할 점으로, X를 1행 10열로 만든다면 X는 1차원 벡터가 아니라 2차원 행렬이다. 여러 단계를 거치지 않고, 한번에 원하는 다차원 배열로 만들 수도 있다.

    Numpy 특정 값으로만 이뤄진 배열 만들기 zeros, ones, full

    특정 값으로만 이루어진 배열 만들기 np.zeros() : 0으로만 이루어진 배열을 만든다. 파라미터에 shape을 입력한다. np.ones() : 1로만 이루어진 배열을 만든다. 파라미터에 shape을 입력한다. np.full() : n으로만 이루어진 배열을 만든다. 파라미터에 shape, n을 입력한다.

    Numpy의 배열 만들기, shape, size, dtype, save, load

    numpy 라이브러리 numpy는 다차원 배열을 쉽게 처리할 수 있도록 지원하는 파이썬의 라이브러리이다. 설치가 되어 있지 않다면 콘솔 창에 pip install numpy 를 입력해 설치한다. 넘파이를 import 할 때 대부분의 개발자들은 위와 같이 np로 줄여서 쓴다.