-
파이썬 데이터사이언스 핸드북 2 장 - 비교연산, 논리연산으로 부울배열을 만들고 마스킹 연산하자.데이터 분석/NumPy 2020. 5. 31. 13:16
비교연산자와 논리연산자를 모른다면 더보기 클릭 비교연산자, 논리연산자 각각에 해당하는 ufunc 가 있다. 더보기 비교연산자 +, -, *, / 산술연산자 외에도 비교연산자도 활용할 수 있다. 물론 N차원 배열에 대해서도 비교연산자를 사용할 수 있다. 물론 N차원 배열에 대해서도 비교연산자를 사용할 수 있다. 논리 연산자 부울 연산자 여러 조건을 조합하고 싶다면, 파이썬의 비트 단위 논리 연산자 &, |, ^, ~ 를 사용할 수 있다. 표준 산술 연산자와 마찬가지로 NumPy 는 이 연산자를 일반적으로 부울 배열의 요소 단위로 동작하는 유니버셜 함수로 오버로딩한다. &/| 를 정수에 사용할 때 표현식은 그 요소의 비트에 대해 동작하므로 그 숫자를 구성하는 개별 비트 단위로 and 와 or 을 적용하는 것..
-
파이썬 데이터사이언스 핸드북 2 장 - 비교, 마스크, 부울 로직데이터 분석/NumPy 2020. 5. 31. 09:39
NumPy 배열 내의 값을 검사하고 조작하는 부울 마스크를 사용하는 법을 다룬다. 마스킹은 특정 기준에 따라 배열의 값을 추출하거나 수정, 계산, 조작할 때 사용한다. 특정 값을 모두 세거나 특정 임게치를 넘어서는 이상치를 모두 제거하려는 경우가 이에 해당한다. NumPy 에서 부울 마스킹은 종종 이러한 유형의 작업을 수행하기에 가장 효율적인 방법이다. 비교, 마스크, 부울로직 궁금한 정보를 조금씩 좁혀나가서 유의미한 데이터분석을 할 수 있다. 예제: 비온 날 세기 plt.hist(inches, 40) --- inches 배열에 대해서 40개로 범주화하여 히스토그램을 그린다. 40개 범주화했을 때 365일 중 245일이 0~ 0.04596457 첫번째 범주에 속하는 것을 알 수 있다. (비가 안온듯!) ..
-
파이썬 데이터사이언스 핸드북 2 장 - 배열 연산: 브로드캐스팅데이터 분석/NumPy 2020. 5. 31. 09:01
NumPy 는 Vectorization 벡터화된 연산으로 2가지 방식을 제공한다. - (Python 내장함수보다 빠른) NumPy 의 유니버셜 함수 Ufuncs 사용 [Ufuncs 포스트] - (피연산자를 동일한 형태로 맞추는) NumPy 의 브로드캐스팅 Broadcasting 사용 브로드캐스팅 소개 같은 크기의 배열에서 이항 연산은 배열의 요소 단위로 수행된다. 다른 크기의 배열에서 이항 연산은 브로드캐스팅 하여 같은 크기의 배열로 맞춘 후, 배열의 요소 단위로 연산한다. 브로드캐스팅 규칙 1. 두 배열의 차원 수가 다르면, 더 작은 수의 차원을 가진 배열 형상의 앞쪽(왼쪽) 을 1로 채운다. 2. 두 배열의 형상이 어떤 차원에서도 일치하지 않는다면, 해당 차원의 형상이 1인 배열이 다른 형상과 일치하..
-
파이썬 데이터사이언스 핸드북 2장 - Numpy 집계데이터 분석/NumPy 2020. 5. 24. 12:25
NumPy 집계가 빠르다!!! NumPy 배열에서 쓸 수 있는 빠른 내장 집계 함수 Python 내장함수 sum 과 NumPy 내장함수 sum 은 매우 유사하다. 그러나 NumPy 내장함수 sum 이 컴파일된 코드에서 실행되기 때문에 더 빠르다. min, max, sum 을 비롯한 다른 여러 NumPy 집계함수의 경우, 배열 객체 자체의 메서드를 사용하는 더 짧은 구문이 존재한다. NumPy 다차원 집계 NumPy 의 결과물은 Scalar 또는 NdArray 이다. 즉 Dimension 차원이란 개념을 가진다. 집계 연산의 보편적인 유형은 행이나 열을 기준으로 집계하는 것이다. 엑셀 스프레드시트를 떠올려보면 쉽다. 예를 들어 직원정보를 관리한다고 했을 때, 한 명의 직원에 대해서, 사번, 이름, 부서, ..
-
파이썬 데이터사이언스 핸드북 2 장 - NumPy 지수와 로그 함수데이터 분석/NumPy 2020. 5. 23. 22:20
지수함수 Exponential Function 출처 https://mathinsight.org/exponential_function The exponential function - Math Insight Overview of the exponential function The exponential function is one of the most important functions in mathematics (though it would have to admit that the linear function ranks even higher in importance). To form an exponential function, we let the indepe mathinsight.org 로그함수 Logari..
-
파이썬 데이터사이언스 핸드북 2 장 - NumPy 배열연산 ufuncs 소개데이터 분석/NumPy 2020. 5. 17. 18:51
NumPy 는 데이터 배열을 사용하여 최적화된 연산을 위한 쉽고 유연한 인터페이스를 제공한다. NumPy 배열의 연산은 아주 빠르거나 아주 느릴 수 있다. 이 연산을 빠르게 만드는 핵심은 벡터화 (vectorized) 연산을 사용하는 것인데, 그것은 일반적으로 NumPy 의 유니버셜 함수 (universal functions, ufuncs) 를 통해 구현된다. 이번 절에서는 배열 요소에 대한 반복적인 계산을 더 효율적으로 수행하게 해주는 NumPy 의 ufuncs 의 필요성에 대해 생각해 보겠다. 그러고 나서 NumPy 패키지에서 사용할 수 있는 가장 보편적이면서 유용한 여러 산술 유니버설 함수를 소개한다. compute_reciprocals(big_array) 여기서 병목은 연산 자체에 있는 것이 아니..
-
파이썬 데이터사이언스 핸드북 2 장 - NumPy 배열의 기본 기능데이터 분석/NumPy 2020. 5. 16. 12:49
기본 배열 조작 기능 목차 배열 속성 지정: 배열의 크기, 모양, 메모리 소비량, 데이터 타입을 결정 배열 인덱싱: 개별 배열 요솟값을 가져오고 설정 배열 슬라이싱: 큰 배열 내에 있는 작은 하위 배열을 가져오고 설정 배열 재구조화: 해당 배열의 형상을 변경 배열 결합 및 분할: 여러 배열을 하나로 결합하고 하나의 배열을 여러 개로 분할 배열의 기본 속성들 ndim (차원의 개수), shape (각 차원의 크기), size (전체 배열의 크기) dtype (배열의 데이터 타입), 각 배열 요소의 크기 (itemsize), 배열의 전체 크기 (nbytes) 차원의 갯수는 [ ] 의 숫자이다. shape 속성으로 반환된 tuple 의 각 값은 tuple 인덱스 순서대로 각 차원이 가지고 있는 요소의 갯수이다..
-
파이썬 데이터사이언스 핸드북 2 장 - ndarray 소개데이터 분석/NumPy 2020. 5. 16. 09:24
NumPy 는 조밀한 데이터 버퍼에서 저장하고 처리하는 효과적인 이터페이스를 제공한다. NumPy 배열은 파이썬 내장타입인 list 와 비슷하지만 배열의 규모가 커질수록 데이터 저장 및 처리에 훨씬 더 효율적이다. NumPy 배열은 파이썬의 데이터 과학 도구로 구성된 전체 생태계의 핵심을 이루고 있기 때문에 관심있는 데이터 과학 측면이 무엇이든 상관없이 NumPy 를 효과적으로 사용하는 법을 배워야한다. numpy.ndarray ndarray docstrings ndarray(shape, dtype=float, buffer=None, offset=0, strides=None, order=None) ndarray definition An array object represents a multidimensi..