1. 넘파이를 쓰는 이유
: 수치를 다루는데 특화됨, 넘파이가 제공하는 기능을 사용하기 위해
* object란?
- object = data + methods
- 파이썬에서는 모든 것이 object(객체)다.
- 변수선언하는 것도 다 object
- object를 만드는 과정 -> instantiation
2. 간단한 기능
- dir() -> 기능 확인
- type() -> 타입 확인
3. ndarray
- np.array()
- np.zeros(shape=(a,b)) -> 0으로 채운 (a,b)
- np.ones(shape=(a,b)) -> 1로 채운 (a,b)
- np.full(shape=(a,b), fill_value=x) -> x값으로 (a,b)형태로 만듦.
- np.empty(shape=(a,b)) -> 공간 만든다고 생각 ( 쓰레기 값 들어감), 나중에 값 채울 때 주로 사용
- np.zeros_like(M) -> M과 shape 같음, 0으로 채움
- np.ones_lke(M) -> M과 shape 같음, 1로 채움
- np.full_like(M, fill_value=x) -> M과 shape 같음, x로 값채움
- np.empty_like(M) -> M과 shape같음, 쓰레기값 들어감
* 파이썬에서 range() 는 소수점을 사용하면 에러가 나지만 넘파이에서는 arange 쓸 때 소수점 가능함
4. linspace와 arange 차이점
: 같은 결과를 만들 수 있음
print(np.arange(0, 1+0.25, 0.25))
print(np.linspace(0, 1, 5))
결과는 [0. 0.25 0.5 0.75 1. ] 으로 동일함
- np.linspace(start, stop, num=50 ...)
: 처음값과 끝값을 포함
: 몇 개로 만들지, -> 개수 강조할 때 사용하면 코드 가독성 †
- np.arange([start], stop, [step] ...), [] 생략가능
: 끝값 포함하지 않음
: 범위, step -> 구간, 간격 강조할 때 사용하면 코드 가독성 †
5. Normal Distributions
- random.randn(d0, d1, ..., dn) -> 차원값
: 표준정규분포: 평균이 0이고 표준편차가 1인 것
: 균등하게 샘플링 함
-random.normal(loc=0.0, scale=1.0, size=None)
: loc=평균, scale=표준편차
-random.uniform(low=0.0, high=1.0, size=None)
: 범위 지정가능
-random.randint(low, high=None, size=None, dtype=int)
: high 숫자 포함하지 않음
: int형태로 출력됨
'Python > Numpy' 카테고리의 다른 글
np.reshape, np.resize 차이점2, flatten, ravel, copy, view (0) | 2021.03.30 |
---|---|
np.reshape, np.resize 차이점 (0) | 2021.03.30 |
ndim, shape, size (0) | 2021.03.29 |