반응형
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, unit8i1, u1부호가 있는 8비트 정수형과 부호가 없는 8비트 정수형
int16, unit16i2, u2부호가 있는 16비트 정수형과 부호가 없는 16비트 정수형
int32, unit32i4, u4부호가 있는 32비트 정수형과 부호가 없는 32비트 정수형
int64, unit64i8, u8부호가 있는 64비트 정수형과 부호가 없는 64비트 정수형
float16f2반정밀도 부동 소수점
float32f4 또는 f단정밀도 부동 소수점, C 언어의 float와 호환
float64f8 또는 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.qrQR 분해를 계산한다.
numpy.linalg.svd특이값 분해(SVD)를 계산한다.
numpy.linalg.solveA가 정사각 행렬일 때 Ax = b를 만족하는 x를 구한다.
numpy.linalg.lstsqy = 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

+ Recent posts