Python中的 numpy.nancumsum()
numpy.nancumsum()
函数用于计算给定轴上数组元素的累积和,将非数字 (NaN) 视为零。
当遇到 NaN 并且前导 NaN 被零替换时,累积和不会改变。对于全 NaN 或空的切片,将返回零。
Syntax : numpy.nancumsum(arr, axis=None, dtype=None, out=None)
Parameters :
arr : [array_like] Array containing numbers whose cumulative sum is desired. If arr is not an array, a conversion is attempted.
axis : Axis along which the cumulative sum is computed. The default is to compute the sum of the flattened array.
dtype : Type of the returned array, as well as of the accumulator in which the elements are multiplied. If dtype is not specified, it defaults to the dtype of arr, unless arr has an integer dtype with a precision less than that of the default platform integer. In that case, the default platform integer is used instead.
out : [ndarray, optional] A location into which the result is stored.
-> If provided, it must have a shape that the inputs broadcast to.
-> If not provided or None, a freshly-allocated array is returned.
Return : A new array holding the result is returned unless out is specified, in which case it is returned.
代码#1:工作
# Python program explaining
# numpy.nancumsum() function
import numpy as geek
in_num = 10
print ("Input number : ", in_num)
out_sum = geek.nancumsum(in_num)
print ("cumulative sum of input number : ", out_sum)
输出 :
Input number : 10
cumulative sum of input number : [10]
代码#2:
# Python program explaining
# numpy.nancumsum() function
import numpy as geek
in_arr = geek.array([[2, 4, 6], [1, 3, geek.nan]])
print ("Input array : ", in_arr)
out_sum = geek.nancumsum(in_arr)
print ("cumulative sum of array elements: ", out_sum)
输出 :
Input array : [[ 2. 4. 6.]
[ 1. 3. nan]]
cumulative sum of array elements: [ 2. 6. 12. 13. 16. 16.]
代码#3:
# Python program explaining
# numpy.nancumsum() function
import numpy as geek
in_arr = geek.array([[2, 4, 6], [1, 3, geek.nan]])
print ("Input array : ", in_arr)
out_sum = geek.nancumsum(in_arr, axis = 0)
print ("cumulative sum of array elements taking axis 0: ", out_sum)
输出 :
Input array : [[ 2. 4. 6.]
[ 1. 3. nan]]
cumulative sum of array elements taking axis 0: [[ 2. 4. 6.]
[ 3. 7. 6.]]