아이공의 AI 공부 도전기

numpy prod 살펴보기

numpy.prod axis를 기준으로 array 내부 elements들의 곱입니다.


parameter default는 (a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)인 상태입니다.


즉 다시 이야기해서 a라는 parameter에 array 혹은 숫자만 넣으면 요소들의 곱을 얻을 수 있습니다.


그럼 하나하나 살펴보며 parameter가 어떤 역할을 하는지 살펴봅시다.

Parameters

1. a : array_like


반드시 필요한 부분으로 상수 혹은 array를 넣는 것으로 조건을 충족합니다.

참고로 빈 array를 넣으면 np.prod([])=1입니다.

자세한 예시는 아래 Examples를 참조해주세요.


2. axis : None or int or tuple of ints, optional


numpy가 array에 어떻게 axis를 가르키는지 알면 편한 parameter로 2d를 기준으로 세로방향은 axis=0 가로방향으로는 axis=1입니다.

이 axis를 기준으로 array 곱을 수행합니다.

본래 axis가 없다면 모든 array elements를 곱하기 때문에 상수가 나오지만 axis가 있다면 결과는 array 형태로 나올 수도 있습니다.

자세한 예시는 아래 Examples를 참조해주세요.


3. dtype : dtype, optional


type 변환이 가능하도록 하는 parameter입니다.

자세한 예시는 아래 Examples를 참조해주세요.


4. out : ndarray, optional

솔직히 이 부분은 어떤 때 사용해야 유용할지 잘 모르겠습니다.

설명으로는 output shape와 같은 array를 받음으로써 대체 결과를 보여줄 수 있다고 되어 있고 np.nan을 넣어 계산해보기도 하고 숫자가 아닌 값을 넣어도봤으나 실행되지 않는 상황이 연출되기도 하였습니다. 

그래서 이 부분은 잘 쓰일 것 같지도 않고 사용법도 몰라 패스하고자 합니다.

그래도 예시는 만들어봤으니 아래 Examples를 참조해주세요.


5. keepdims : bool, optional

keepdims는 결과로 만들어지는 dimension을 축소할 것인가 그대로 유지할 것인가를 결정하는 parameter입니다. 

만약 keepdims=True라면 결과값의 dimension을 입력의 dimension으로 유지하는 것이지만 keepdims=False라면 결과값의 dimension은 축소됩니다.

자세한 예시는 아래 Examples를 참조해주세요.


6. initial : scalar, optional

처음 초기 initial value를 곱한 상태로 np.prod를 수행하는 것입니다.

곱의 항원인 1이 초기값이 defaults이겠지만 이 parameter로 1이 아닌 다른 상수값을 선행하여 곱한 상태로 곱을 수행합니다.

자세한 예시는 아래 Examples를 참조해주세요.


7. where : array_like of bool, optional

곱을 하고자 할 때 제외하고자 하는 요소 혹은 반드시 포함하고자 하는 요소를 설정할 수 있도록 만든 parameter입니다. 물론 bool로 구성된 array를 넣어야하며 broadcasting이 가능하기 때문에 마지막 dimension을 맞춰주셔야 합니다.

자세한 예시는 아래 Examples를 참조해주세요.

Examples



모르는 내용이나 수정이 필요한 내용은 아래 댓글을 남겨주시면 감사하겠습니다.

부족한 글을 읽어주셔서 감사합니다.



공유하기

facebook twitter kakaoTalk kakaostory naver band
loading