AI/Numpy 7

[Numpy] numpy 배열 원소 추출하기

numpy 배열의 원소 중 원하는 원소를 추출하여 새로운 배열로 만드는 방법에 대해서 알아보자. boolean index 특정 조건에 해당하는 값을 배열 형태로 추출한다. test_array = np.array([1, 4, 0, 2, 3, 8, 9, 7], float) # test_array에서 3보다 큰 element만 추출해서 반환한다. print(test_array[test_array > 3]) # 출력: [4. 8. 9. 7.] fancy index numpy array를 인덱스 값으로 사용해서 값을 추출한다. a = np.array([2, 4, 6, 8], float) b = np.array([0, 0, 1, 3, 2, 1], int) # 반드시 integer로 선언해야 한다. # b를 인덱스 ..

AI/Numpy 2023.03.08

[Numpy] where 함수 사용법

numpy의 where 함수를 사용하는 방법에 대해서 알아보자. numpy의 where 함수는 사용 방법을 크게 두가지로 나눌 수 있다. 1. 조건을 만족하는 인덱스 값 가져오기 test_a = np.arange(10) print(np.where(test_a > 5)) # 출력: (array([6, 7, 8, 9]),) 2. True일 때, False일 때 각각 값을 broadcasting 조건문에서 True가 반환되는 위치와 False가 반환되는 위치에 각각 정해진 값을 넣는다. np.where(조건문, True일 때 값, False일 때 값) test_a = np.arange(10) print(np.where(test_a > 5, 1, -1)) # 출력: [-1 -1 -1 -1 -1 -1 1 1 1 1]

AI/Numpy 2023.03.08

[Numpy] numpy 배열 간 연산

numpy의 배열끼리 연산을 수행하는 방법들을 알아보자. 배열 간 사칙연산 numpy는 shape이 같은 array간의 기본적인 사칙 연산을 지원한다. 같은 위치에 있는 element 값들끼리 연산한다. (element-wise operation) test_a = np.array([[1,2,3], [4,5,6]], float) print(test_a + test_a) # 출력: # [[ 2. 4. 6.] # [ 8. 10. 12.]] print(test_a * test_a) # 출력: # [[ 1. 4. 9.] # [16. 25. 36.]] 배열 간 비교연산 배열의 shape이 동일할 때 같은 위치에 있는 element간 비교 결과를 boolean type으로 반환한다. test_a = np.array(..

AI/Numpy 2023.03.08

[Numpy] numpy 배열 합치기

numpy 배열들을 합치는 다양한 방법들을 알아보자. vstack 함수, hstack 함수 합치는 array를 하나의 iterable 객체에 담아 인자로 넘겨야 된다. np.vstack((array1, array2)) : vertical 방향으로 쌓음 np.hstack((array1, array2)) : horizontal 방향으로 쌓음 a = np.array([1,2,3]) b = np.array([4,5,6]) print(np.vstack((a, b))) # 출력: # [[1 2 3] # [4 5 6]] print(np.hstack([a, b])) # 출력: [1 2 3 4 5 6] concatenate 함수 axis를 활용해 numpy 배열을 합치는 방향을 결정한다. a = np.array([[1,..

AI/Numpy 2023.03.08

[Numpy] axis란 무엇일까?

numpy의 함수들의 인자로 자주 등장하는 axis의 개념에 대해서 알아보자. axis numpy의 함수를 실행할 때 기준이 되는 dimension 축을 의미한다. 2차원 배열을 기준으로 axis = 0이면, 같은 열에서 행 방향으로 연산을 적용하고, axis = 1이면, 같은 행에서 열 방향으로 연산을 적용한다. test_array = np.arange(1, 13).reshape(3, 4) print(test_array) # 출력: # [[ 1 2 3 4] # [ 5 6 7 8] # [ 9 10 11 12]] print(test_array.sum(axis=1)) # 같은 행에서 열 방향으로 값들을 더한다. # 출력: [10 26 42] print(test_array.sum(axis=0)) # 같은 열에..

AI/Numpy 2023.03.08

[Numpy] numpy 배열 생성하기

numpy의 배열을 생성하는 다양한 방법들을 알아보자. arange 함수 범위를 지정해서 범위 내의 값을 가진 array를 생성한다. 파이썬의 range와 유사한 역할을 한다. step의 크기를 float로 줄 수 있다. test_array = np.arange(0, 5, 0.5) # step의 크기가 0.5 print(test_array) # 출력: [0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. 4.5] zeros, ones 함수 값을 0(또는 1)으로 채운 array를 생성한다. np.zeros(shape, dtype, order) np.ones(shape, dtype, order) 파라미터 중 order은 메모리에서 row-major로 저장될 것인지, column-major로 저장될 것인..

AI/Numpy 2023.03.08

[Numpy] numpy 배열 다루기

넘파이의 배열이 갖는 특징들과 넘파이 배열을 다루는 방법들에 관해 알아보자. ndarray numpy의 N차원 배열 객체이다. numpy는 하나의 데이터 타입만 배열에 넣을 수 있다. 각 element가 차지하는 메모리의 크기를 지정할 수 있다. 파이썬의 list보다 뛰어난 연산 성능을 갖는다. import numpy as np test_array = np.array(["1", "4", 5.0, 8], float) # ndarray 객체 생성 print(test_array) # 출력: [1. 4. 5. 8.] print(type(test_array)) # 출력: print(type(test_array[0])) # 출력: shape array의 dimension 구성을 반환한다. dtype array의 데..

AI/Numpy 2023.03.08