Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 NaN을 하나로 취급하는 주어진 축에 대한 배열 요소의 누적 곱을 반환합니다.

<시간/>

NaN을 1로 처리하는 지정된 축에 대한 배열 요소의 누적 곱을 반환하려면 nancumprod() 메서드를 사용합니다. 누적 곱은 NaN이 발생하고 선행 NaN이 1로 대체될 때 변경되지 않습니다. 모두 NaN이거나 비어 있는 슬라이스에 대해 1이 반환됩니다. 이 메서드는 out이 지정되지 않은 경우 반환된 결과를 포함하는 새 배열을 반환합니다. 이 경우 반환됩니다.

누적 작업은 5, 5*10, 5*10*15, 5*10*15*20입니다. 첫 번째 매개변수는 입력 배열입니다. 두 번째 매개변수는 누적 곱이 계산되는 축입니다. 기본적으로 입력은 평평합니다. 세 번째 매개변수는 반환된 배열의 유형과 요소가 곱해지는 누산기의 유형입니다. dtype이 지정되지 않으면 기본 플랫폼 정수보다 정밀도가 낮은 hasan 정수 dtype이 아닌 한 기본적으로 a의 dtype이 사용됩니다. 이 경우 기본 플랫폼 정수가 대신 사용됩니다.

네 번째 매개변수는 결과를 배치할 대체 출력 배열입니다. 예상 출력과 모양과 버퍼 길이가 같아야 하지만 필요한 경우 결과 값의 유형이 캐스팅됩니다.

단계

먼저 필요한 라이브러리를 가져옵니다 -

import numpy as np

array() 메서드를 사용하여 numpy 배열 만들기. nan −

를 사용하여 int 유형의 요소를 추가했습니다.
arr = np.array([[5, 10, 15], [20, np.nan, 30]])

배열 표시 -

print("Our Array...\n",arr)

치수 확인 -

print("\nDimensions of our Array...\n",arr.ndim)

데이터 유형 가져오기 -

print("\nDatatype of our Array object...\n",arr.dtype)

NaN을 1로 처리하는 지정된 축에 대한 배열 요소의 누적 곱을 반환하려면 nancumprod() 메서드를 사용합니다. 누적 곱은 NaN이 발생하고 선행 NaN이 1로 대체될 때 변경되지 않습니다. -

print("\nCumulative Product of array elements...\n",np.nancumprod(arr, axis = 1))

예시

import numpy as np

# Creating a numpy array using the array() method
# We have added elements of int type with nan
arr = np.array([[5, 10, 15], [20, np.nan, 30]])

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# To return the cumulative product of array elements over a given axis treating NaNs as one, use the nancumprod() method
# The cumulative product does not change when NaNs are encountered and leading NaNs are replaced by ones.
print("\nCumulative Product of array elements...\n",np.nancumprod(arr, axis = 1))

출력

Our Array...
[[ 5. 10. 15.]
[20. nan 30.]]

Dimensions of our Array...
2

Datatype of our Array object...
float64

Cumulative Product of array elements...
[[ 5. 50. 750.]
[ 20. 20. 600.]]