새벽을 밝히는 붉은 달
2021.03.15 오늘의 기록 본문
<파이썬 라이브러리를 활용한 데이터 분석>
- ndarray는 같은 종류의 데이터를 담을 수 있는 포괄적인 다차원 배열이다
- ndarray의 모든 원소는 같은 자료형이어야만 한다
- 모든 배열은 각 차원의 크기를 알려주는 shape라는 튜플을 가지고 있다.
- 모든 배열은 배열에 저장된 자료형을 알려주는 dtype이라는 객체를 가지고 있다.
- array 함수를 이용하면 순차적인 객체를 받아 넘겨받은 데이터가 들어있는 새로운 NumPy 배열을 생성한다
- 명시적으로 지정하지 않는 한 np.array는 생성될 때 적절한 자료형을 추정한 후, 이를 dtype 객체에 저장한다.
- zeros와 ones는 주어진 길이나 모양에 각각 0과 1이 들어있는 배열을 생성한다.
- empty 함수는 초기화되지 않은 배열을 생성한다.
- arange 함수는 range 함수의 배열 버전이다.
- 배열 생성 함수
array | 입력 데이터를 ndarray로 변화하며 dtype이 명시되지 않은 경우에는 자료형을 추론하여 저장한다. 기본적으로 입력 데이터는 복사된다. |
asarray | 입력 데이터를 ndarray로 변환하지만 입력 데이터가 이미 ndarray일 경우, 복사가 되지 않는다. |
arange | 내장 range 함수와 유사하지만 리스트 대신 ndarray를 반환한다 |
ones, ones_like | 주어진 dtype과 주어진 모양을 가지는 배열을 생성하고 내용을 모두 1로 초기화한다. ones_like는 주어진 배열과 동일한 모양과 dtype을 가지는 배열을 새로 생성하여 내용을 모두 1로 초기화한다 |
zeros, zeros_like | ones, ones_like와 같지만 내용을 0으로 채운다 |
empty, empty_like | 메모리를 할당하여 새로운 배열을 생성하지만 ones나 zeros처럼 값을 초기화하지는 않는다 |
eye, identity | N x N 크기의 단위 행렬을 생성한다 |
- ndarray의 astype 메서드를 사용해서 배열의 dtype을 다른 형으로 명시적 변경이 가능하다
- 숫자 형식의 문자열을 담고 있는 배열이 있다면 astype을 사용하여 숫자로 변환할 수 있다
- astype을 호출하면 새로운 dtype이 이전 dtype과 같아도 항상 새로운 배열을 생성(데이터를 복사)한다.
- Numpy는 대용량 데이터 처리를 염두에 두고 설계되었기 때문에 데이터 복사가 되지 않고 뷰에 대한 변경은 그대로 원본 배열에 반영한다. -> 만약 뷰 대신 ndarray 슬라이스의 복사본을 얻고 싶다면 arr[5:8].copy()를 사용해서 명시적으로 배열을 복사한다
- 다차원 배열에서 마지막 색인을 생략하면 반환되는 객체는 상위 차원의 데이터를 포함하고 있는 한 차원 낮은 ndarray가 된다
- 배열에 불리언 색인을 이용해서 데이터를 선택하면 반환되는 배열의 내용이 바뀌지 않더라도 항상 데이터 복사가 이루어진다
- 파이썬 예약어인 and와 or은 불리언 배열에서 사용할 수 없다.
- 단항 유니버셜 함수
abs, fabs | 각 원소(정수, 실수, 복소수)의 절대값을 구한다.복소수가 아닌 경우에는 빠른 연산을 위해 fabs를 사용한다. |
sqrt | 각 원소의 제곱근을 계산한다. arr ** 0.5와 동일하다. |
square | 각 원소의 제곱을 계산한다. |
Exp | 각 원소에서 지수 e^x를 계산한다 |
Log,log10, log2, log1p | 각각 자연 록, 로그 10, 로그 2, 로그(1+x) |
sign | 각 원소의 부호를 계산한다. 1(양수), 0(영), -1(음수) |
ceil | 각 원소의 소수자리를 올린다 . 각 원소의 값보다 같거나큰 정수 중 가장 작은 정수를 반환한다. |
floor | 각 원소의 소수자리를 내린다. 각 원소의 값보다 작거나 같은 정수 중 가장 작은 수를 반환한다. |
rint | 각 원소의 소수자리를 반올림한다. dtype은 유지된다. |
modf | 각 원소의 몫과 나머지를 각각의 배열로 반환한다. |
isnan | 각각의 원소가 숫자인지 아닌지를(NaN, Not a Number) 나타내는 불리언 배열을 반환한다. |
isfinite, isinf | 배열의 각 원소가 유한한지(non-inf, non-Nan), 무한한지 나타내는 불리언 배열을 반환한다. |
cos, cosh, sin, sinh, tan, tanh | 일반 삼각 함수와 쌍곡삼각 함수 |
arccos, arccosh, arcsin, arcsinh, arctan, arctanh | 역삼각 함수 |
logical_not | 각 원소의 논리 부정(not) 값을 계산한다. -arr과 동일하다. |
이항 유니버셜 함수
add | 두 배열에서 같은 위치의 원소끼리 더한다 |
subtract | 첫 번째 배열의 원소에서 두 번째 배열의 원소를 뺀다 |
multiply | 배열의 원소끼리 곱한다 |
divide, floor_divide | 첫 번째 배열의 원소에서 두 번째 배열의 원소를 나눈다. floor_divide는 몫만 취한다. |
power | 첫 번째 배열의 원소에 두 번째 배열의 원소만큼 제곱한다. |
maximum, fmax | 두 원소 중 큰 값을 반환한다. fmax는 NaN을 무시한다. |
minimum, fmin | 각 배열의 두 원소 중 작은 값을 반환한다. fmin은 NaN을 무시한다. |
mod | 첫 번째 배열의 원소에 두 번째 배열의 원소를 나눈 나머지를 구한다. |
copysign | 첫 번째 배열 원소의 기호를 두 번째 배열 원소의 기호로 바꾼다. |
greater, greater_equal, less, less_equal, equal, not_equal | 각각 두 원소 간의 >, >=, <, <=, ==, != 비교연산 결과를 불리언 배열로 반환한다. |
logical_and, logical_or, logical_xor | 각각 두 원소 간의 논리연산, &, |, ^ 결과를 반환한다. |
'Developer > Record' 카테고리의 다른 글
2021.04.01 오늘의 기록 (0) | 2021.04.02 |
---|---|
2021.03.22 오늘의 기록 (0) | 2021.03.22 |
2021.03.09 오늘의 기록 (0) | 2021.03.10 |
2021.03.08 오늘의 기록 (0) | 2021.03.09 |
2021.03.06 오늘의 기록 (0) | 2021.03.07 |
Comments