들어가면서
- Python for Data Analysis (파이썬 라이브러리를 활용한 데이터 분석)의 모든 내용을 포함하고 있지 않습니다.
- 제가 몰랐던 부분, 헷갈렸던 부분만 정리 되어있습니다.
ch4. Numpy Basics: Arrays and vectorized Computation
초기 생성
- np.zeros, np.ones로 생성 가능
- np.empty도 생성은 가능하나 초기값이 0임을 보장하지 못한다. 메모리의 garbage값을 넣어준다.
indexing
- selecting data는 항상 복사본을 생성한다.
- tuple을 넣어줌으로써 mutiple index array에 접근할 수 있다.
- 행렬의 부분 집합을 :로 고를 수 있다.
연산
- astype으로 type을 casting 할 수 있다.
- C 또는 fortran과 상호작용하기 위해 dtype이 C와 유사하다.
- 내적 연산은 (*)가 아니라 (@)다. ex) np.dot(arr1,arr2)
- numpy random은 python built-in random보다 훨씬 빠르다.
element-wise arrasy function
- np.sqrt, np.exp 처럼 np.maximum(arr1,arr2)는 최대값을 element-wise로 return함.
- 일반적이지는 않지만 modf는 정수부분과 소수부분을 나눠서 2개 return한다.
- np.add(arr1,1,out=arr2)로 하면 새로운 array를 생성하는 것이 아닌 결과를 out으로 지정한다.
if else
- if else 구문보다 np.where가 훨씬 빠르다. (array의 크기가 크면 클 수록)
- where의 arg의 순서는 3항 연산자와 같음
import numpy as np
#list
arr = [(x if x<2 else x**2) for x in arr]
# np
np.where( x<2 ,arr,arr**2)
유용한 함수
- cumsum : 누적 합
- cumprod : 누적 곱
- in1d : array안에 값이 포함되는지를 판별
```python
values = np.array([0,0,0,1,2,3])
np.in1d(values,[0,1])
0 과 1은 True 나머지는 False
'책 > 파이썬 라이브러리를 활용한 데이터 분석' 카테고리의 다른 글
ch7 data 정제 (0) | 2023.11.22 |
---|---|
Ch5 Pandas (0) | 2023.11.22 |
ch10 Data aggregation and group Operations (1) | 2023.11.15 |
ch8 Data Wrangling (0) | 2023.11.15 |
ch11 Time Series (0) | 2023.11.15 |