본문 바로가기

데이터 분석9

Numpy 기본 함수 연산 함수 add, substract, multiply, divide 기본적으로 shape가 같아야 연산이 가능하다. broadcasting을 통해 다른 경우에도 가능은 하다. np.multiply(x, y) np.divide(x, y) x + y x / y #사칙연산의 경우 그냥 바로 연산자를 이용 가능하다. 통계 함수 평균, 분산, 중앙, 최대, 최소값 등등 통계관련 함수가 내장되어 있다. np.mean(y) # y.mean() np.max(y) np.argmax(y) # 제일 큰 값의 index 가져오기 np.var(y) # 분산 np.median(y) # 중앙값 np.std(y) # 표준 편차 집계 함수 합계(sum), 누적합계(cumsum) 등등 계산 가능 sum(y) #column 값들의 합을.. 2020. 2. 29.
Numpy ndarray shape 변경 ravel 다차원 배열을 1차원으로 변경 원소의 주소를 복사하여 반환 따라서 변경 배열의 원소값을 바꾸면 원 배열의 값도 바뀜 order 파라미터 'C' - row 우선 변경 'F' - column 우선변경 # 기본 변경 x = np.arange(8).reshape(2, 4) # array([0, 1, 2, 3, 4, 5, 6, 7]) np.ravel(x) x.ravel() # 둘 다 가능 np.ravel(x, order='F') # array([0, 4, 1, 5, 2, 6, 3, 7]) temp = x.ravel() temp[0] = 100 #[[100 1 2 3] # [ 4 5 6 7]] temp의 값을 변경하면 x의 값도 변경된다. flatter rave.. 2020. 2. 29.
Numpy ndarray 인덱싱, 슬라이싱 ndarray 인덱싱 파이썬의 리스트와 동일한 개념으로 사용 ,를 이용하여 각 차원의 인덱스에 접근 가능 인덱싱을 통해 차원이 변경될 수 있다. x = np.arange(36).reshape(3, 4, 3) x[1] #3차원 1번 인덱스를 반환 #3차원에서 2차원으로 변경됨. ndarray 슬라이싱 리스트, 문자열의 슬라이싱과 동일한 개념으로 사용 , 를 사용하여 각 차원 별로 슬라이싱 가능 인덱싱과 달리 슬라이싱을 해도 차원이 줄지는 않음 x = np.arange(10).reshape(2, 5) # [[0 1 2 3 4] # [5 6 7 8 9]] x[:, 1:4] # 행은 전체, 열은 1번 인덱스 이상 4번 인덱스 미만 # array([[1, 2, 3], # [6, 7, 8]]) 행렬 인덱싱 정수 배.. 2020. 2. 29.
Numpy ndarray 생성 ndarray 생성 array 함수로 생성 # 1차원 벡터 x = np.array([1,2,3,4]) # 2차원 행렬 y = np.array([[2,3,4], [1,2,5]]) arange 함수로 생성 # np.arange(이상, 미만, step) np.arange(5) # array([0,1,2,3,4]) np.arange(1, 5) # array([1,2,3,4]) np.arange(5, 50, 10) # array([5, 15, 25, 35, 45]) ones, zeros 함수로 생성 np.ones((2, 3)) # array([[1., 1., 1.], # [1., 1., 1.]]) empty, full 함수로 생성 np.empty((2, 2)) # array([[3.22643519e-307, 3... 2020. 2. 29.