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