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

+ Recent posts