본문 바로가기
반응형

파이썬/Numpy8

Numpy 배열의 데이터 비교 방법(any, all, where, isnan, argmax, argmin) np.any(조건) - 배열의 데이터 중 조건과 맞는 데이터가 있으면 True 전혀 없으면 False arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) np.any(arr > 5) True np.any(arr 5) False np.all(arr < 10) True 배열의 같은 위치에 있는 요소간의 비교 배열의 shape이 같아야 함 비교연산자 ==, 로 배열 요소 비교 arr1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) arr2 = np.array([[1, 2, 3], [1, 5, 7], [.. 2019. 8. 8.
Numpy 사칙연산, Transform, 브로드캐스팅 넘파이는 사칙연산 +, -, *, / 를 사용하여 두 배열의 요소들간의 사칙연산을 할 수 있음 arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([[2, 3, 4], [5, 6, 7]]) arr1 + arr2 array([[ 3, 5, 7], [ 9, 11, 13]]) arr2 - arr1 array([[1, 1, 1], [1, 1, 1]]) arr1 * arr2 array([[ 2, 6, 12], [20, 30, 42]]) arr2 / arr1 array([[2. , 1.5 , 1.33333333], [1.25 , 1.2 , 1.16666667]]) 같은 위치의 요소와 연산하므로 두 배열의 shape는 같아야 연산할 수 있고 shape가 다르면 valu.. 2019. 8. 8.
Numpy 연산(sum, mean, std, exp, vstack, hstack)과 axis의 의미 sum() - 배열의 모든 요소들의 합을 구함 arr = np.array([1,2,3,4,5]) arr.sum(dtype=np.float) 15 sum(axis=0) - axis 어떤 축을 기준으로 연산할 것인가 지정. (3, 4)의 shape인 행렬을 axis=0으로 지정하면 row를 기준으로 연산 axis=1으로 지정하면 column을 기준으로 연산 shape의 가장 앞부터 0 다음 예는 (3,2,4) 행렬의 sum 연산이다. arr = np.array([ [[1, 2, 3, 4], [5, 6, 7, 8]], [[1, 2, 3, 4], [5, 6, 7, 8]], [[1, 2, 3, 4], [5, 6, 7, 8]]]) arr.shape (3, 2, 4) print(arr.sum(axis=0)) [[ 3.. 2019. 8. 7.
Numpy 배열 생성 방법(arange, zeros, ones, random) arange() - 파이썬의 range와 같음 np.arange(숫자) np.arange(최저값, 최고값, 스텝) 리스트와 다르게 소수를 step으로 할 수 있음 np.arange(0, 5, 0.5) np.arange(20).reshape(4,5) zeros() - 모든 요소가 0인 배열 np.zeros(shape=(10,), dtype=np.int8) np.zeros((3,4)) ones() - 모든 요소가 1인 배열 np.ones(shape=(10,), dtype=np.int8) np.ones((3,4)) empty() - 모든 요소가 비어있는 배열 생성 어떤 값으로 초기화 하지 않고 메모리만 잡아주기 때문에 현재 메모리에 있는 값 그대로 사용 np.empty(shape=(10, ), dtype=np.. 2019. 8. 7.
Numpy 요소선택 인덱싱, 슬라이싱 (indexing, slicing) 넘파이 인덱싱 인덱싱은 배열의 요소에 접근하는 방법이다. 첫번째 행의 두번째 열의 값이라면 arr = np.array([[1, 2, 3, 4],[5, 6, 7, 8]]) arr[0][1] 2 2가 선택된다. 아래와 같이 ,콤마로 구분해서 선택할 수 도 있다. arr[0,1] 2차원 배열이기 때문에 하나의 숫자만 입력하면 행 전체가 선택된다. arr[0] array([1, 2, 3, 4]) 배열의 범위를 벗어나게 되면 Index 오류가 뜬다. arr[5][1] IndexError: index 5 is out of bounds for axis 0 with size 2 고차원의 배열도 가장 바깥쪽의 대괄호부터 선택하면 된다. arr = np.array([[[1, 2, 3, 4], [5, 6, 7, 8]], [.. 2019. 8. 7.
Numpy shape 변환 (reshape, flatten) Numpy 배열의 shape 변환 (reshape(), flatten()) arr.reshape() reshape 할 때는 총 개수가 맞아야 한다. 즉 size가 같아야 shape을 변환할 수 있음 아니면 ValueError: cannot reshape array of size x into shape (x, x) 에러가 발생한다. (2, 4) 배열 생성 arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) array([[1, 2, 3, 4], [5, 6, 7, 8]]) 8행으로 shape 변환 arr.reshape(8,) array([1, 2, 3, 4, 5, 6, 7, 8]) 4행 2열의 shape 변환 arr.reshape(4,2) array([[1, 2], [3, 4], .. 2019. 8. 7.
numpy 배열 타입(dtype), 모양(shape), 차원(ndim), 크기(size) ndarray 생성 - np.array(배열, 타입) arr = np.array([1, 2, 3, 4], float) 데이터 타입 지정시 배열에는 지정한 타입의 데이터만 넣을 수 있음 arr = np.array([1, 2, "a", 3], float) ValueError: could not convert string to float: 'a' arr = np.array([1, 2, "a", True]) 위와 같이 생성시 모든 데이터가 문자열로 인식되고 이는 arr = np.array([1, 2, "a", True], np.str) 과 같음. 각 요소의 데이터 타입을 확인해보면 모두 문자열임. print(type(arr[0]), type(arr[1]), type(arr[2]), type(arr[3])) 형변.. 2019. 8. 6.
Numpy 설치 및 기본 Numpy (Numerical Python) 파이썬의 고성능 계산 패키지 matrix와 vector 등의 Array 연산의 표준 map을 이용해 for나 while 없이 데이터 배열에 대한 처리로 속도가 빠르고 메모리를 효율적으로 이용 Numpy 설치 pip install numpy jupyter나 pandas가 설치 되어 있을 경우 넘파이가 기본적으로 설치되기 때문에 따로 설치할 필요 없음 넘파이 호출 import numpy as np 일반적으로 np라는 이름으로 이용해서 사용함 2019. 8. 6.
반응형