minyule.log
로그인
minyule.log
로그인
Pre-course 3
김민영
·
2022년 12월 29일
팔로우
0
AI
0
pre_course
목록 보기
3/7
3일차
Numpy
사용 이유
list는 큰 matrix 표현하기에 비효율적
파이썬은 interpreter 언어이므로 처리 속도가 느림 -> numpy 를 사용.
Numerival Python
cli에 pip install numpy
import numpy as np
용어
scalar, vector, matrix, 3-tensor, n-tensor
함수
shape: dimension 구성 반환. array 크기, 형태 반환. (높이,세로,가로)
ndim: rank. number of dimensions
size: data 개수
dtype: data type 반환 - 파이썬 리스트과 달리 dynamic typing 지원 안 함. 하나의 변수 형태만 들어가게 됨.
C 데이터 타입과 같이 사용 가능
reshape: shape 크기 변경
reshape(-1, 2): 2, 4 -> 4, 2. size 기반으로 row 개수 선정
데이터 순서는 그대로
flatten: 다차원 array를 1차원 array로 변환
array 자체를 바꾸려면 재할당 필요
indexing: [0, 0] 표기법 가능
slicing: 행, 열 나눠서 slicing 가능
[row 범위, col 범위]
arr[:, start:end:step] -> 건너뛰기 가능
creating function
arange: array 범위 지정하여 list 생성
zeros: 0으로 찬 ndarray 생성. shape, dtype 지정
ones: 1로 찬 ndarray 생성
empty: shape만 주어지고 비어지는 ndarray 생성 - memory initialization 안 됨
something_like: 같은 행렬 생성
identity: 단위행렬 생성
eye: 대각선 1 행렬(시작위치 조절 가능. n, m, k)
diag: 시작위치부터 대각선의 숫자 반환
random sampling
np.random.normal
np.random.eponential
operation function
sum, mean, std
axis: 함수 실행 시 기준이 되는 축.
가로 4, 세로 3: (3, 4), 앞이 axis = 0, 뒤가 axis = 1
concatenate: array를 붙이는 함수
vstack: 가로줄 경계로 합침
hstack: 세로줄 경계로 합침
concatenate axis=0: axis 지정. 0: 가로줄 경계, 1: 세로줄 경계
newaxis: 새로운 축 생성. ex, 2차원 배열과 1차원 배열 합칠 때, 1차원 배열 축 늘리기
array operation
+, -, *: element-wise operation: 같은 크기 배열끼리 연산 가능
dot
transpose, T: 대각선 기준 대칭 이동
broadcasting: +, -, *, /, //, % ... 크기 다른 것들끼리도 연산 가능
크기 다르면 같도록 퍼짐. 복붙됨
numpy performance
timeit: 주피터 환경에서 시간 측정
속도는 for loop < list comprehension < numpy
numpy는 c로 구현되어있어서 계산 성능이 좋지만 dynamic typing 안됨. 할당에서 이점 없음
comparisons
np.any(a>5), np.all(a>5)
배열 크기 동일시, element-wise operation -> array 크기로 반환
logical_ and, not, or (a>0, a<3)
where: True인 index 값 반환
isnan: not a number
isfinite: is finite number
argmax, argmin: array 내 최대값, 최소값 인덱스 반환
argsort: 정렬, 인덱스 반환
boolean, fancy index
array[test_array > 3]: 조건이 True인 index의 element만 반환
fancy index: array 값을 index로 사용하는 방식. take와 같은 효과
loadtxt, savetxt: 데이터 읽고, 저장
벡터가 뭐예요?
벡터
- 공간에서 한 점
원점으로부터 상대적 위치
덧셈, 뺄셈: 상대적 위치 이동
norm: 원점으로부터 거리
L1 norm 각 성분의 변화량의 절대값의 총 합
L2 norm 피타고라스 정리로 유클리드 거리 계산
두 벡터 사이 각도: 제2코사인법칙. 내적
orthogonal projection 정사영된 벡터의 길이
김민영
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=
팔로우
이전 포스트
Pre-course 2
다음 포스트
Pre-course 4
0개의 댓글
댓글 작성