-
파이썬 데이터사이언스 핸드북 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..
-
파이썬 데이터사이언스 핸드북 2장 - Numpy 소개데이터 분석/NumPy 2020. 5. 12. 11:43
3장과 함께 이번 장에서는 파이썬에서 인메모리 데이터를 효과적으로 적재하고 저장하고 가공하는 기법을 설명하겠다. 이 주제는 매우 광범위하다. 데이터세트는 광범위한 원천으로부터 문서나 이미지, 사운드 클립, 수치 측정값 등 거의 모든 것을 아우르는 매우 다양한 형식으로 들어올 수 있다. 이렇게 명백한 다양성에더 볼구하고 모든 데이터를 근본적으로 숫자 배열로 간주하는 것이 도움이 될 것이다. 숫자 배열을 효과적으로 저장하고 가공하는 것은 데이터 과학을 수행하는 절차에서 가장 근본적인 작업이다. 이제 파이썬이 이러한 숫자 배열을 다루기 위해 제공하는 전문 도구인 NumPy 패키지(2장)와 Pandas 패키지(3장) 을 살펴보겠다. NumPy 란? NumPy(보통 "넘파이"라고 발음한다)는 2005년에 Trav..
-
파이썬 데이터사이언스 핸드북 1장 - 코드 프로파일링 및 시간 측정데이터 분석/NumPy 2020. 5. 9. 13:33
특정 명령어나 일련의 명령어의 실행 시간을 확인하는 것이 유용하고, 때로는 멀티라인 프로세스를 면밀하게 분석하고 복잡한 일련의 작업에서 병목이 되는 지점을 찾는 것이 유용하다. IPython 은 이런 방식으로 코드의 실행 시간을 측정하고 프로파일링하는 다양한 기능을 제공한다. - %time : 단일 문장의 실행 시간 - %timeit : 단일 문장을 반복 실행해 더 정확하게 실행 시간을 측정 일반적으로 %time 으로 측정한 시간이 %timeit 으로 측정한 시간보다 길다. %timeit 이 물밑에서 시스템 호출이 시간 측정을 방해하지 못하도록 몇몇 영리한 작업을 수행하기 때문이다. 예를 들면, 이 명령어는 시간 측정에 영향을 줄 수도 있는 미사용 파이썬 객체를 정리하는 가비지 컬렉션 작업을 못 하게 막..
-
파이썬 데이터사이언스 핸드북 1장 - IPython 의 에러와 디버깅데이터 분석/NumPy 2020. 5. 5. 16:33
코드 개발과 데이터 분석은 항상 어느정도 시행착오가 필요하며, IPython 은 이 절차를 능률화하는 도구를 제공한다. 이번 포스트에서는 파이썬의 예외 보고를 제어하는 몇 가지 옵션을 간단히 다루고 코드의 에러를 디버깅하는 도구를 살펴본다. %xmode Plain, Context Verbose 인터프리터가 예외를 발견하면 에러 발생 원인에 대한 정보를 파이썬에서 접근할 수 있는 traceback 에서 확인할 수 있다. %xmode {Plain|Context|Verbose} %debug 역추적 내용을 확인하는 것으로 충분하지 않을 경우 디버깅 IPython 에서 디버깅에 가장 편리한 인터페이스 예외를 만난 뒤 이 명령어를 호출하면, 예외 발생 지점에 대화형 디버깅 프롬프트를 자동으로 연다. ipdb 프롬프..
-
파이썬 데이터사이언스 핸드북 1장 - IPython 의 꿀팁 명령어데이터 분석/NumPy 2020. 5. 5. 16:31
? 와 ?? 도움말 및 소스코드 확인 이 함수를 어떻게 호출할 수 있지? 이 함수는 어떤 인수와 옵션을 가지고 있을까? L.insert? Signature: L.insert(index, object, /) Docstring: Insert object before index. Type: builtin_function_or_method 이 파이썬 객체의 소스코드는 어떻게 생겼을까? def?? Signature: square(a) Source: def square(a): """a의 제곱을 반환""" return a**2 File: ~/Project/DS/ Type: function tab 탐색 및 자동완성 임포트한 이 패키지에는 무엇이 들어있을까? 이 객체는 어떤 속성이나 메서드를 가지고 있을까? %, %% ..