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

Python에서 NaN을 1로 처리하여 축 0에 대한 배열 요소의 누적 곱을 반환합니다.

<시간/>

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

이 메서드는 out이 지정되지 않은 경우 결과가 반환된 새 배열을 반환합니다. 이 경우 반환됩니다. 누적 작업은 5, 5*10, 5*10*15, 5*10*15*20입니다. 첫 번째 매개변수는 입력 배열입니다. 두 번째 매개변수는 누적 곱이 계산되는 축입니다. 기본적으로 입력은 평면화됩니다.

세 번째 매개변수는 반환된 배열의 유형과 요소가 곱해지는 누산기의 유형입니다. dtype이 지정되지 않으면 a가 기본 플랫폼 정수보다 정밀도가 낮은 integerdtype을 갖지 않는 한 기본적으로 a의 dtype으로 설정됩니다. 이 경우 defaultplatform 정수가 대신 사용됩니다. 네 번째 매개변수는 결과를 배치할 대체 출력 배열입니다. 예상 출력과 모양과 버퍼 길이가 같아야 하지만 필요한 경우 결과 값의 유형이 캐스팅됩니다.

단계

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

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

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

예시

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
print("\nCumulative Product of array elements...\n",np.nancumprod(arr, axis = 0))

출력

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. 10. 15.]
[100. 10. 450.]]