import numpy as np
형태로 호출 test_array = np.array([1,2,3,4], float)
형식으로 가능.shape
: numpy array의 dimension 구성을 반환 (type:tuple).dtype
: numpy array의 data type을 반환.ndim
: number of dimensions.size
: data의 갯수 is
로 같은 숫자를 비교하면,is
로 비교하면 memory 주소값이 동일하기때문에 True가 나온다. float64
를 사용함.reshape()
: Array의 shape 크기를 변경함. element 갯수는 동일.reshape(-1, 2)
: reshape에서 고정하고 싶은 값이 있을 때(이경우 2) 나머지를 -1로 설정하면 size를 기반으로 -1 값을 새로 설정함.flatten()
: 다차원 array를 1차원 array로 변환index for numpy array
array[0,0]
== array[0][0]
slicing for numpy array
list와 달리 행과 열 부분을 나눠서 slicing이 가능함 (= 중간값 slice가능)
matrix의 부분 집합을 추출할 때 용이
이런식으로 step을 가지고 추출하는 것도 가능함
.arange(시작, 끝, step)
: array 범위를 지정하여 값의 list를 생성.zeros(shape)
: 0으로 가득찬 ndarray 생성.ones(shape)
: 1로 가득찬 ndarray 생성empty
: shape만 주어지고 비어있는 ndarray 생성-something_like(기존 ndarray)
: 기존 ndarray 크기만큼 1(something -> ones), 0(something -> zeros), empty(something -> empty) arry 반환
.identity(shape)
: 단위행렬 생성.diag(matrix)
: 대각 행렬의 값을 추출함.random.분포(시작, 끝, 갯수).reshape
: 데이터 분포에 따른 sampling으로 array 생성 (균등 분포 - uniform, 정규분포 - normal).sum()
: ndarray element간의 합을 구함. list의 sum(list)
와 동일.mean()
: 평균np.std(array)
: 표준편차 np.sqrt(array)
: 루트!np.concatenate((ar1, ar2), axis)
: ndarray를 axis에 맞춰 붙히는 함수array[np.newaxis, :]
: 값은 그대로에 축을 하나 늘릴 때 사용. ar1.dot(ar2)
: matrix의 기본 연산, Dot productar1.transpose()
or ar1.T
: transpose 전치함수 → 행렬 계산시 많이 사용함%timeit
: jupyter환경에서 코드의 퍼포먼스를 체크하는 함수 def sclar_vector_product(scalar, vector):
result = []
for value in vector:
result.append(scalar * value)
return result
iternation_max = 100000000
vector = list(range(iternation_max))
scalar = 2
%timeit sclar_vector_product(scalar, vector) # for loop을 이용한 성능
%timeit [scalar * value for value in range(iternation_max)]
# list comprehension을 이용한 성능
%timeit np.arange(iternation_max) * scalar # numpy를 이용한 성능
array < n
처럼 표기하고, array 값 각각을 < n
을 비교하며 array 갯수만큼 True of False 출력 (broadcasting 처리됨)np.any(조건)
: 하나라도 조건에 만족하면 True (or 개념)np.all(조건)
: 모두가 조건에 만족한다면 True (and 개념)ar1 > ar2
& (ar1 > ar2).any()
가능 np.logical_and(조건1, 조건2)
: 두개의 조건의 and 비교로 Boolen 출력 (and 대신 or, not도 가능함) np.where(조건, true시 출력값, false시 출력값)
: 조건에 맞는 값 반환np.where(조건)
: 조건에 맞는 값의 index 반환np.isnan(array)
: Not a Number(NaN)값 있는지 확인np.isfinite(array)
: 발산하는 값(memory를 넘어가는 값)을 찾음np.argmax(arr)
& np.argmin(arr)
: array내 최대값, 최소값의 index를 반환함array[array 조건]
으로하면 조건이 True인 index의 element만 추출delimiter
: 데이터를 자르는 기준fmt = %.2e
: 소숫점 2째자리까지 저장.npy
로 저장 가능. pickle type