반응형
NumPy에서 배열 생성을 위한 주요 함수들은 다음과 같다.
함수 이름 | 설명 |
array() | 입력 데이터(리스트, 튜플, 배열, 순차형 데이터 등)를 이용하여 배열을 생성한다. 생성시 적절한 데이터의 타입을 추정한다. 예시) arr = np.array([1, 2, 3]) |
arange() | 내장 range와 유사하지만 리스트 대신 ndarray를 반환한다. arr = np.arange(10) # 0부터 9까지의 정수 10개를 생성한다. np.arange(9).reshape((3, 3)) # 3행 3열의 numpy.ndarray를 반환한다.(0부터 시작) # 1.0부터 4.5까지 0.5씩 증가시키기 x = np.arange( 1.0, 4.1, 0.5 ) |
ones() | 주어진 dtype과 주어진 모양을 가지는 배열을 생성하고, 값을 모두 1로 초기화 시킨다. |
zeros((행수, 열수)) | 요소의 모든 내용이 0인 배열을 생성해준다. 예시) zeros((2,2)) : 요소의 값이 모두 0인 2 * 2의 배열을 생성한다. |
empty() | 배열을 생성하되, ones나 zeros처럼 값을 초기화 하지는 않는다. |
NumPy가 지원하는 자료형 목록은 다음과 같다.
종류 | Type Code | 설명 |
int8, unit8 | i1, u1 | 부호가 있는 8비트 정수형과 부호가 없는 8비트 정수형 |
int16, unit16 | i2, u2 | 부호가 있는 16비트 정수형과 부호가 없는 16비트 정수형 |
int32, unit32 | i4, u4 | 부호가 있는 32비트 정수형과 부호가 없는 32비트 정수형 |
int64, unit64 | i8, u8 | 부호가 있는 64비트 정수형과 부호가 없는 64비트 정수형 |
float16 | f2 | 반정밀도 부동 소수점 |
float32 | f4 또는 f | 단정밀도 부동 소수점, C 언어의 float와 호환 |
float64 | f8 또는 d | 배정밀도 부동 소수점, C 언어의 double와 호환, 파이썬의 float 객체와 호환 |
단항 유니버설 함수는 하나 이상의 스칼라 값을 받아서 스칼라 결과 값을 반환해주는 함수를 말한다.
함수 | 설명 |
abs, fabs | 각 원소의 절대값(정수, 실수, 복소수)을 구한다. 복소수가 아닌 경우 빠른 연산을 위하여 fabs를 사용한다. |
sqrt(배열) | 각 원소의 제곱근을 계산한다. arr ** 0.5와 동일한 결과이다. |
square | 각 원소의 제곱을 계산한다. arr ** 2와 동일한 결과이다. |
exp | 각 원소에서 지수 e*x를 계산한다. print(np.exp(1)) #2.71828182846 |
log, log10, log2, log1p | 각각 자연 로그, 로그 10, 로그 2, 로그(1+x) |
sign | 각 원소의 부호를 계산한다. 1(양수), 0(영), -1(음수) |
ceil | 각 원소의 소수 자리를 올린다. |
floor | 각 원소의 소수 자리를 버린다. |
rint | 각 원소의 소수 자리를 반올림한다. |
modf | 각 원소의 몫과 나머지를 각각의 배열로 반환한다. |
isnan | 각각의 원소가 숫자인지 아닌지를(NaN, Not A Number) 나타내는 Boolean 배열을 반환한다. |
isfinite, isinf | 배열의 각 원소가 유한한지(non-inf, non-Nan), 무한인지를 나타내는 Boolean 배열을 반환한다. |
cos, cosh, sin, sinh, tan, tanh | 일반 삼각 함수와 쌍곡 삼각 함수 |
arccos, arccosh, arcsin, arcsinh, arctan, arctanh | 역 삼각 함수 |
logical_not | 각 원소의 논리 부정(not) 값을 계산한다. |
이항 유니버설 함수는 2개의 인자를 취해서 단일 배열을 반환해주는 함수를 말한다.
함수 | 설명 |
add(배열a, 배열b) | 두 배열에서 같은 위치의 요소끼리 더한다. |
subtract(배열a, 배열b) | 첫 번째 배열의 요소에서 두 번째 배열의 원소를 뺀다. |
multiply(배열a, 배열b) | 배열의 요소끼리 곱한다. |
divide(배열a, 배열b), floor_divide | 첫 번째 배열의 요소에서 두 번째 배열의 원소를 나눈다. |
power | 첫 번째 배열의 요소에 두 번째 배열의 요소를 제곱한다. |
maximum, fmax | 두 원소 중에서 큰 값을 반환한다. fmax는 NaN을 무시한다. |
minimum, fmin | 두 원소 중에서 작은 값을 반환한다. fmin은 NaN을 무시한다. |
mod | 첫 번째 배열의 요소에 두 번째 배열의 원소를 나눈 나머지를 구한다. |
copysign | 첫 번째 배열의 요소의 기호를 두 번째 배열의 요소의 기호로 바꾼다. |
greater, greater_equal, less, less_equal, euqal, not_equal | 각각 두 원소 간의 >, >=, < , <=, ==, != 비교 연산 결과를 Boolean 배열로 반환한다. |
logical-and, logical_or, logical_xor | 각각 두 원소 간의 논리 연산 &, |, ^ 결과를 반환한다. |
기본 배열 통계 메소드는 다음과 같은 항목들이 있다.
메소드 | 설명 |
sum | 배열 전체 혹은 특정 축에 대한 모든 원소의 합을 계산한다. 크기가 0인 배열에 대한 연산 결과는 0이다. |
mean | 산술 평균을 구한다. 크기가 0인 배열에 대한 연산 결과는 NaN이다 |
std, var | 각각 표준 편차와 분산을 구한다. 선택적으로 자유도를 줄 수 있으면 분모의 기본 값은 n이다. |
min, max | 최소 값, 최대 값 |
argmin, argmax | 최소 원소의 색인 값, 최대 원소의 색인 값 |
cumsum | 누산 메소드라고 하는데, 각 원소의 누적 합을 구해준다.(cumulative sum) |
cumprod | 각 원소의 누적 곱 |
자주 쓰는 선형 대수 함수는 다음과 같은 항목들이 있다.
함수 | 설명 |
numpy.diag | 정사각 행렬의 대가/비대각 원소를 1차원 배열로 반환하거나 1차원 배열을 대각선 원소로 하고, 나머지는 0으로 채운 단위 행렬을 반환한다. |
numpy.dot() | 행렬과 행력 및 행렬과 벡터 간의 곱셈을 연산한다. |
numpy.trace | 행렬의 대각원 원소의 합을 계산한다. |
numpy.linalg.det | 행렬식을 게산한다. |
numpy.linalg.eig | 정사각 행렬의 고유 값과 고유 벡터를 계산한다. |
numpy.linalg.inv | 정사각 행렬의 역행렬을 계산한다. |
numpy.linalg.pinv | 행렬의 무어=펜로즈 유사역원 역행렬을 계산한다. |
numpy.linalg.qr | QR 분해를 계산한다. |
numpy.linalg.svd | 특이값 분해(SVD)를 계산한다. |
numpy.linalg.solve | A가 정사각 행렬일 때 Ax = b를 만족하는 x를 구한다. |
numpy.linalg.lstsq | y = xb를 만족하는 최소 제곱해를 구한다. |
다음은 numpy.random 함수에 포함되어 있는 일부분이다.
함수 | 설명 |
seed() | 난수 발생기의 시드를 지정한다. 예시) np.random.seed(1000) |
permutation | 순서를 임의로 바꾸거나 임의의 순열을 반환한다. |
shuffle | 리스트나 배열의 순서를 뒤섞는다. |
rand | 균등 분포에서 표본을 추출한다. |
randint | 주어진 최소/치대 범위 안에서 임의의 난수를 추출한다. |
randn() | 표준 편차가 1이고 평균 값이 0인 정규 분포(matlab과 같은 방식)에서 표본을 추출한다. 예시 : arr = np.random.randn( 10 ) |
binomial | 이항 분포에서 표본을 추출한다. |
normal | 정규 분포(가우시안)에서 표본을 추출한다. |
beta | 베타 분포에서 표본을 추출한다. |
chisquare | 카이 제곱 분포에서 표본을 추출한다. |
gamma | 감마 분포에서 표본을 추출한다. |
uniform | 균등(0, 1) 분포에서 표본을 추출한다. |
standard_normal() | 정규 분포 샘플 데이터를 생성한다. 예시) y = np.random.standard_normal( 20 ) |
numpy에서 제공하는 집합 함수는 다음과 같다.
함수 | 설명 |
unique(x) | 배열 x에서 중복된 원소를 제거한 후 정렬하여 반환한다. |
intersect1d(x, y) | 배열 x와 y에 공통적으로 존재하는 원소를 정렬하여 반환한다. |
union1d(x, y) | 두 배열의 합집합을 반환한다. |
in1d(x, y) | x의 원소 중 y의 원소를 포함하는 지를 나타내는 불리언 배열을 반환한다. |
setdiff1d(x, y) | x와 y의 차집합을 반환한다. |
setxor1d(x, y) | 한 배열에는 포함되지만, 두 배열 모두에는 포함되지 않는 원소들의 집합인 대칭 차집합을 반환한다. |
반응형
'Program > Python' 카테고리의 다른 글
ravel(), transpose(), resize() (0) | 2017.12.13 |
---|---|
numpy 수학함수 (0) | 2017.12.02 |
numpy meshgrid (0) | 2017.12.02 |
window에서 패키지 설치 에러 해결하기 (0) | 2017.11.21 |
python 가상환경 (0) | 2017.11.21 |