1. element wise operation numpy는 단순 list와는 다르게 기본적으로 array끼리 사칙연산을 지원함 기본적으로는 *,+,-는 대응하는 원소끼리 연산함 dot product는 일반적인 행렬곱으로 a.dot(b) , a@b transpose는 a.T , a.transpose() 2. broadcasting shape가 다른 배열 간 연산도 지원함 scalar가 matrix의 모든 원소에 대응하여 연산함
1. operation 기본적인 수학연산 지원 sum,mean,median,var,std 등등 지원 median 지원이 인상적 np.exp(), np.sqrt(), … 등 지수함수와 제곱근도 지원 표준편차는 std()로 구할 수 있고 median같은 경우는 a.median()이 아니라 np.median(a) 식으로 구해야 에러가 안나는듯 2. axis 연산 실행에서 기준이 되는 축 ndarray의 shape가 (a,b,c,d,e,.....)이면 a는 axis=0 b는 axis=1 c는 axis=2, d는 axis=3, e는 axis=4,..... 그림2에서 (3,4) array의 원소 합 sum()을 구한건데 axis=1이 shape에서 4를 나타내니까 원소 4개 있는 방향으로 sum을 함 그림3에서 (..
1. np.arange(n) np.arange(n)은 0~n-1까지 한 행으로 array 생성 list의 range는 step size에 floating point가 불가능하나 arange()는 가능 보통 reshape와 같이 사용함 arange로 array를 만들고 원하는 shape로 바꾸기 위해 reshape를 사용 2. np.zeros() & np.ones() np.zeros()는 0으로 가득 찬 ndarray np.ones()는 1로 가득찬 ndarray 3. np.empty() np.empty()는 비어있는 ndarray를 생성한다 그런데 일반적으로 배열을 생성할때는 메모리 공간을 싹 비우고(initialization) 잡는데 np.empty는 그냥 메모리 공간을 잡는다. 그래서 잡은 공간에 들..
1. reshape 원소 개수는 바꾸지 않고 array의 shape를 변경함 원소 개수는 shape의 모든 축의 곱 np.array().reshape() dim에 -1을 포함시키면 그 부분은 파이썬이 데이터 수에 맞게 알아서 잡아준다 2. flatten 다차원 array를 1차원 array로 만들어준다 (2,2,4)의 3차원 array를 (16,)의 1차원 array로 flatten 시킴 원소의 수인 모든 shape의 곱이 16으로 일정해야함 3. indexing 리스트와는 다르게 [a,b]의 직관적인 indexing을 제공함 indexing으로 값 변경도 가능 0행 2열의 원소를 test_exampe[0,2]로 불러올 수 있음 0,0의 원소인 1을 test_example[0,0]=10으로 변경 가능 4..
1. numpy 고성능 과학 계산용 패키지 matrix나 vector같은 array 연산의 사실상 표준 일반 리스트에 비해 빠르고 효율적 반복문 없이 배열 연산 처리를 지원 c,c++ 등 다른 언어와 통합 가능 import numpy as np 2. array에 대하여 행렬은 일반적으로 이차원 list를 이용하여 표현한다. 예를 들어 [[2,1],[3,2],[3,-1]]은 (21323−1)을 표현한다. 그러나 이렇게 하는 경우 다양한 행렬 계산이 어려워진다. 심지어 매우 큰 matrix에 대해 일일이 list로 표현해줄 것인가? 리스트는 심지어 메모리도 비효율적이다. 각각의 값이 모두 메모리 주소를 가지기 때문 3. ar..
1. map 판다스의 series에도 각 요소에 함수를 적용시키는 map이 가능 series로 반환 위 그림은 series s1의 모든 요소에 함수 f를 적용시킨 map의 예시 모든 요소에 제곱을 수행하여 series로 반환함 series s1에 map을 수행해도 원본 s1은 그대로 있다 map을 활용하여 데이터를 교체하는 기법 map으로 dict를 넣으면 dict의 key를 index로 보고 해당 index에 value를 집어넣음 s1의 인덱스를 먼저 넣고 s2의 대응되는 인덱스의 값으로 넣는거임 df의 sex 열에 map을 활용하여 남자면 0 여자면 1을 대응시키는 one hot encoding을 수행 df.sex.unique()를 이용해 df.sex에는 male과 female밖에 없으니까 0 아니면..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.