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

Python에서 NaN을 0으로 처리하는 지정된 축에 대한 배열 요소의 누적 합계를 반환합니다.

<시간/>

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

모두 NaN이거나 비어 있는 슬라이스의 경우 0이 반환됩니다. 이 메서드는 out이 지정되지 않는 한 결과를 포함하는 새 배열을 반환하고 반환됩니다. 결과는 와 크기가 동일하고 if 축과 같은 모양이 None이 아니거나 a가 1차원 배열입니다. 5, 5+10, 5+10+15,5+10+15+20과 같은 누적 작업입니다. 첫 번째 매개변수는 입력 배열입니다. 두 번째 매개변수는 누적 합계가 계산되는 축입니다. 기본값(None)은 flattenedarray에 대한 cumsum을 계산하는 것입니다.

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

단계

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

import numpy as np

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

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

배열 표시 -

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

치수 확인 -

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

데이터 유형 가져오기 -

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

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

print("\nCumulative Sum of array elements...\n",np.nancumsum(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([[10, 20, 30], [40, np.nan, 60]])

# 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 sum of array elements over a given axis treating NaNs as zero, use the nancumprod() method
# The cumulative sum does not change when NaNs are encountered and leading NaNs are replaced by zeros.

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

출력

Our Array...
[[10. 20. 30.]
[40. nan 60.]]

Dimensions of our Array...
2

Datatype of our Array object...
float64

Cumulative Sum of array elements...
[[ 10. 30. 60.]
[ 40. 40. 100.]]