본문 바로가기

파이썬/Numpy(넘파이)5

[NumPy] 5. 넘파이 브로드캐스팅, 배열 인덱싱, 불 인덱싱 학습내용 #1 : 넘파이 브로드캐스팅(Broadcasting rules) #2 : 넘파이 인덱싱(Advanced Indexing and index tricks)동 #3 : Bool로 인덱싱하기(Indexing with Boolean Arrays) #4 : ix_() function #1 : 넘파이 브로드캐스팅(Broadcasting rules) 브로드캐스팅은 단순하게 편리성을 위해 shape(차원 혹은 다른 행과 열)이 다른 np.array끼리 연산을 지원해준다. 차원(ndim)이 같고 각 축(axis)의 값이 같거나 1일 때만 기본적으로 연산이 가능하지만 브로드캐스팅을 통해 행과 열의 개수가 다르더라고 계산할 수 있다. 연산시 부족한 행과 열의 추가(자기 자신을 복제)되어 연산이 가능하도록 만들어준다... 2021. 10. 15.
[NumPy] 4. 넘파이 차원 변환(Shape Manipulation) 학습내용 #1 : 넘파이 차원 변환(Shape Manipulation) #2 : 데이터 쌓기(Stacking together diffrent arrays) #3 : 데이터 쪼개기(Splitting one array into several smaller ones) #1 : 넘파이 차원 변환(Shape Manipulation) np.ndarray의 shape를 다양한 방법으로 변경 가능하다. .ravel()와 .flatten() 1차원(행 or 열)으로, .reshape()는 지정한 차원으로, .T는 전치(Transpos) 변환이 가능하다. 이 때, 데이터 원본은 변경되지 않고 복사하여 연산된 결과가 반환된다. import numpy as np import numpy.random as npr a = np.f.. 2021. 10. 13.
[NumPy] 3. 넘파이 인덱싱, 슬라이싱, 반복(indexing, slicing, iterating) 학습내용 #1 : 넘파이 인덱싱(indexing), 슬라이싱(slicing), 반복(iterating) 1) 1차원 배열 2) 다차원 배열의 인덱싱, 슬라이싱 3) ... 의 사용 4) 다차원 배열의 반복 #1 : 넘파이 인덱싱(indexing), 슬라이싱(slicing), 반복(iterating) 1) 1차원 배열 1차원 배열은 리스트나 다른 python sequence처럼 인덱싱, 슬라싱, 반복을 사용할 수 있다. 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[::-1] #array([729, 512, 343, 216, 125, 64, 27, 8.. 2021. 10. 12.
[NumPy] 2. 넘파이 연산, 축, 배열 출력 학습내용 #1 : 배열 출력하기(Printing Arrays) 배열을 출력할 때, NumPy는 중첩된 배열과 비슷한 방법으로, 다음의 레이아웃을 따라 출력된다. 1차원은 배열처럼 출력되고, 2차원은 매트릭스처럼, 3차원은 매트릭스의 리스트처럼 출력된다. 마지막 축은 왼쪽에서 오른쪽으로 출력. 두번째에서 마지막은 위에서 아래로 출력. 나머지는 위에서 아래로 출력되며, 각기의 슬라이스는 비어있는 라인에 의해 다음 슬라이스와 구분. #1차원 a = np.arange(6) print(a) #[0 1 2 3 4 5] #2차원 b = np.arange(12).reshape(2,6) print(b) # [[ 0 1 2 3 4 5] # [ 6 7 8 9 10 11]] #3차원 c = np.arange(24).resha.. 2021. 10. 12.