본문 바로가기
반응형

Python/NumPy15

넘파이의 기초 통계함수(평균,분산,표준편차,공분산) - Numpy(15) 파이썬 버전 3.7 기준NumPy 버전 1.16 기준 넘파이의 기초 통계함수 본 포스팅에서는 넘파이의 기초 통계함수인 공분산, 평균, 분산, 표준편차를 계산하는 함수인 numpy.cov(), numpy.mean(), numpy.var(), numpy.std()를 다룬다. 넘파이에서 제공하는 통계함수들 넘파이에서는 기본적으로 통계에 대한 기초적인 함수를 지원한다. 본 포스팅에서는 넘파이에서 제공하는 4개의 함수에 대해 다룬다.각 함수를 설명하기에 앞서 함수에 입력되는 입력 변수의 자료형에 대한 설명을 간략히 한다. 각 입력자료형에 대한 설명 ○ array_like: 배열과 유사한 자료형을 의미한다. (리스트, 튜플, np.array, 기타등등..) ○ bool: 논리형 자료형을 의미한다.(True, Fal.. 2019. 3. 21.
배열(array)의 형상(shape) 정보 확인과 조작(reshape, resize) - NumPy(14) 참고 자료https://docs.scipy.org/doc/numpy/user/quickstart.html 파이썬 버전 3.7 기준NumPy 버전 1.16 기준 본 포스팅에서 다루는 범위는 다음과 같다.형상정보 확인을 위한 기능(dim, shape, size, itemsize, dtype, data)와 형상조작을 위한 기능(ravel, transpose, reshape, resize)를 다룬다. 배열(array)의 형상(shape) 정보 확인과 조작 형상 확인 메서드 Numpy 배열의 기초 지식 ○ 넘파이의 메인 오브젝트는 균일하고 다차원의 배열이다. ○ 요소로 이루어진 테이블이라고 볼 수 있으며, 모두 같은 타입이다. ○ 양의 정수의 튜플로 인덱싱될 수 있다. ○ 넘파이에서 차원은 axes(축)이라 불린.. 2019. 3. 7.
배열(array)의 출력과 기본연산자(basic operation) - NumPy(13) 참고 자료https://docs.scipy.org/doc/numpy/user/quickstart.html 파이썬 버전 3.7 기준NumPy 버전 1.16 기준 본 포스팅에서 다루는 범위는 다음과 같다.print 함수를 이용한 배열의 출력과 넘파이의 기본연산자(+, -, *, /), 행렬내적(@, dot), 단항연산자(sum, min, max, cumsum)를 다룬다. 배열(array)의 출력과 기본 연산자(basic operation) 배열의 출력 ○ 배열을 출력할때에는 파이썬 리스트를 출력하는 것과 거의 유사하지만, 아래와 같은 법칙을 따른다. ▷ 마지막 축은 왼쪽에서 오른쪽으로 출력이 된다. ▷ 두번째부터 마지막까지는 가장 위에서 가장 아래까지 출력된다. ▷ 나머지는 위에서 아래로 출력되며, 각 슬라.. 2019. 3. 3.
Record array(레코드 배열)에서의 Recarray Helper Functions - NumPy(12) 참고 자료https://docs.scipy.org/doc/numpy/user/basics.rec.html 파이썬 버전 3.7 기준NumPy 버전 1.16 기준 본 포스팅에서는 NumPy에서의 Structured Array의 Record array를 다루기 위한 유용한 함수(Recarray Helper Function)에 대해 포스팅한다. Structured array(구조체 배열)의 Record array(레코드 배열)에서의 유용한 함수 Recarray Helper FunctionsRecarray Helper Function은 구조체 배열을조작하기 위한 유틸리티를 모아놓은 것이다.이 함수들의 대부분은 John Hunter가 matplotlib용으로 처음 구현하였고, 편의를 위해 재작성되고 확장시켰다. n.. 2019. 2. 26.
Structured Array(구조체 배열)의 Record array(레코드 배열) - NumPy(11) 참고 자료https://docs.scipy.org/doc/numpy/user/basics.rec.html 파이썬 버전 3.7 기준NumPy 버전 1.16 기준 본 포스팅에서는 NumPy에서의 Structured Array의 Record array를 다룬다. NumPy에서의 Structured array(구조체 배열)의 Record array(레코드 배열) Record array(레코드 배열) 레코드 배열의 생성 ○ 선택적 편의사항으로서 넘파이는 numpy.rec의 서브모듈을 통해 narray 서브클래스인 numpy.recarray와 관련된 도움을 줄 수 있는 함수를 제공한다. ▷ numpy.rec 모듈은 레코드 배열을 작성할 수 있는 많고 편리한 함수를 제공한다. ▷ 해당 모듈을 통해 레코드 배열을 작성.. 2019. 2. 25.
Structured Array(구조체 배열)의 indexing(인덱싱)과 assignment(배정) - NumPy(10) 참고 자료https://docs.scipy.org/doc/numpy/user/basics.rec.html 파이썬 버전 3.7 기준NumPy 버전 1.16 기준 본 포스팅에서는 NumPy에서의 Structured Array의 indexing과 assignment를 다룬다. NumPy에서의 Structured array(구조체 배열)의 Indexing(인덱싱)과 Assignment(배정) 구조체 배열로의 배정 구조체 배열에 값을 배정하는 많은 방법이 존재한다.① 파이썬 튜플을 활용하는 법, ② 스칼라 값을 사용하는법, 혹은 ③ 다른 구조체배열을 활용하는 방법 등이 있다. ① 파이썬의 튜플을 이용한 배정 ○ 배정을 하고자하는 값들로 배열에 있는 필드와 같은 길이의 튜플을 구성한다. ▷ 리스트를 사용시 브로드캐.. 2019. 2. 24.
Structured Array(구조체 배열)의 개요와 생성 - NumPy(9) 참고 자료https://docs.scipy.org/doc/numpy/user/basics.rec.html 파이썬 버전 3.7 기준NumPy 버전 1.16 기준 본 포스팅에서는 NumPy에서의 Structured Array를 다룬다. NumPy에서의 Structured array Structured Array(구조체 배열) 개요 구조체 배열 개요 ○ Structured Array(구조체 배열)는 ndarray이며, Field라고 명명된 시퀀스로써 구성되어있는 간단한 데이터 타입으로 구성되어져있다. ▷ numpy.genfromtxt()의 상세 내용을 다룬 포스팅에서 names 혹은 dtype를 정의하여 구성된 배열이 Structured array이다. ○ 아래 예제는 구조체 배열을 정의하는 것부터 배열의 각.. 2019. 2. 23.
NumPy(넘파이)에서의 Byte-swapping(바이트스와핑) - NumPy(8) 참고 자료https://docs.scipy.org/doc/numpy/user/basics.byteswapping.html 파이썬 버전 3.7 기준NumPy 버전 1.16 기준 본 포스팅에서는 NumPy에서의 Byte-swapping을 다룬다. NumPy에서의 Byte-swapping 바이트스와핑 개요 바이트스와핑 개요 ○ ndarray는 메모리에 데이터로 파이썬 배열 인터페이스를 제공해주는 오브젝트이다. ○ 사용자가 배열을 사용해서 보길 원하는 메모리와 파이썬을 돌리는 컴퓨터와 같은 바이트 순서(Byte ordering)가 아닌 경우가 종종있다. ▷ 대표적으로 Intel Pentium와 같은 리틀 엔디언(Little-endian) CPU에서 빅 엔디언(Big-endian)에서 작성된 데이터를 불러올 경우.. 2019. 2. 12.
NumPy(넘파이)에서의 Broadcasting(브로드캐스팅) - NumPy(7) 참고 자료https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html 파이썬 버전 3.7 기준NumPy 버전 1.16 기준 본 포스팅에서는 NumPy에서의 Broadcasting을 다룬다. NumPy에서의 Broadcasting 브로드캐스팅의 개념 브로스캐스팅의 개념 ○ 넘파이에서 브로드캐스팅이라는 용어는 서로 다른 배열 형상에서 산술 연산을 어떻게 처리할 것인가를 의미한다. ○ 확실한 제약을 조건으로하여, 더 작은 배열이 브로드캐스트되는데 이는 이쪽이 호환성이 더 좋기 때문이다. ○ 브로드캐스팅은 파이썬 대신에 C언어의 루핑으로 배열연산에서 벡터화하는 방법을 제공한다. ▷ 이것은 필요없는 데이터의 복사본을 만들지 않고 효율적인 알고리즘 실행을 가능하게.. 2019. 2. 10.
반응형